demo里 diagramscene這個例子,選中TEXT按鈕后,單擊graphicsview就可以輸入文字,當單擊的時候進入可編輯狀態。代碼如下:void Scene::mouseDoubleClickEvent( QGraphicsSceneMouseEvent *event ){ textItem = new DiagramTextItem; textItem->setTextInteractionFlags(Qt::TextEditorInteraction); textItem->setZValue(1000.0); addItem(textItem); textItem->setPos(event->scenePos()); QGraphicsScene::mouseDoubleClickEvent(event);}如果注釋掉 QGraphicsScene::mouseDoubleClickEvent(event); 點擊view就不能進入可編輯狀態。 我想實作的功能是 在一個QGraphicsItem內雙擊 就會產生一個TextItem 并且進入可編輯狀態,但TextItem無法進入可編輯狀態代碼如下:void Node::mouseDoubleClickEvent( QGraphicsSceneMouseEvent *event ){ textItem = new DiagramTextItem; textItem->setPlainText("drgddf"); textItem->setTextInteractionFlags(Qt::TextEditorInteraction); textItem->setZValue(1000.0); scene()->addItem(textItem); textItem->setPos(event->scenePos()); textItem->textInteractionFlags(); QGraphicsItem::mouseDoubleClickEvent(event);}如果讓QGraphicsScene相應doubleclick事件,QGraphiceTextItem就可以進入可編輯狀態,如果QGraphicsItem相應,就無法進入。但是TextInteractionFlags卻一直是Qt::TextEditorInteraction。我所指的可編輯狀態是指第一次產生textitem時候就進入可編輯狀態。測驗了半天也找不到問題所在,哪位同學知道其中的原有呢。
uj5u.com熱心網友回復:
我也看過這個例子,我是在按鈕中添加 bool st=ui->TextButton->isChecked();只有按鈕是選中狀態才可以編輯轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/272077.html
標籤:其他技術討論專區
下一篇:CSDN竟然還有個論壇
