Qt:在小部件中显示qgraphicsitem

时间:2015-05-27 09:58:36

标签: qt qgraphicsview qgraphicsitem

我有一个包含QGraphicsItems的QGraphicsScene。点击这样的项目后,我打开一个对话框。我现在希望项目显示在对话框的区域中。

我尝试了一个QGraphicsView(在对话框中)并“指向”它完美地工作的项目。问题是,可以单击对话框中的项目,这将打开一个新对话框。

所以我的问题:是否有一种简单的方法可以告诉QGraphicsView忽略任何输入事件?如果没有,是否有一种简单的方法可以在窗口小部件中显示QGraphicsItem?

2 个答案:

答案 0 :(得分:1)

我感觉很蠢......

QGraphicsView::setInteractive(false)完成了这个伎俩。 我仍然可以使用鼠标滚轮移动图标,但这可以通过使用setSceneRect()

限制场景rect来避免

答案 1 :(得分:0)

您可以在QGraphicsView上安装一个忽略输入事件的事件过滤器。 Qt documentation表示:

  

在重新实现此功能时,如果要过滤掉事件,即停止进一步处理,请返回true;否则返回false。