Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt 单击鼠标并按Enter键可显示不同的行为_Qt_Qgraphicsview_Qdialog - Fatal编程技术网

Qt 单击鼠标并按Enter键可显示不同的行为

Qt 单击鼠标并按Enter键可显示不同的行为,qt,qgraphicsview,qdialog,Qt,Qgraphicsview,Qdialog,您好,我已经编写了一个程序,其中我在QGraphicsView中添加了图形项。我有一个比视图大的Graphicscene。我正在使用QInputDialog的getText函数来更改图形项的文本。如果我用鼠标点击OK按钮,一切都很好。但如果按Enter键,对话框将关闭,项目的文本将更改,但如果在图形视图的视口外单击,则会添加项目。(在“输入”对话框中按Enter键可在graphicsview的视口外绘制项目)。有没有办法解决这个问题?我认为这是某种焦点问题,但我不确定。这很奇怪。你能发布一些相关

您好,我已经编写了一个程序,其中我在QGraphicsView中添加了图形项。我有一个比视图大的Graphicscene。我正在使用QInputDialog的getText函数来更改图形项的文本。如果我用鼠标点击OK按钮,一切都很好。但如果按Enter键,对话框将关闭,项目的文本将更改,但如果在图形视图的视口外单击,则会添加项目。(在“输入”对话框中按Enter键可在graphicsview的视口外绘制项目)。有没有办法解决这个问题?我认为这是某种焦点问题,但我不确定。

这很奇怪。你能发布一些相关代码吗?@PavelStrakhov这是更改项目文本的代码。我用鼠标按添加了一个节点,双击对话框就会出现。如果使用enter键“接受”对话框,然后在图形视图外部单击,则会将一个项目添加到场景位置,即使该位置不可见。真的很奇怪。我一直在尝试不同的方法,通过自己管理keyPressEvent将QDialog和QInputDialog子类化,但结果相同。按enter键后,工具栏上的按钮在第一次单击时不起作用。有人能告诉我如何禁用对话框的默认键(Enter)吗?