当前位置: 代码迷 >> QT开发 >> QGraphicsScene和QGrphicsItem右键菜单有关问题
  详细解决方案

QGraphicsScene和QGrphicsItem右键菜单有关问题

热度:139   发布时间:2016-04-25 04:55:46.0
QGraphicsScene和QGrphicsItem右键菜单问题
我的Scene里面有几个自己的Item....
右键点击Scene和Item出不同的菜单....
我目前Scene的菜单总是覆盖item的...
就是说只能有一个存在...
怎么让我在点Item的时候出它的菜单
点Item以外的地方出Scene的菜单呢?
郁闷啊 求大神帮助....要用事件过滤器吗?
急....

------解决方案--------------------
item接收鼠标事件的顺序应该在scene的前面才对,要是你item没用的话,可能是你item的右键菜单没写好。
你可以试试把你的scene的菜单代码注释了,然后再点item,估计也没有反应吧。
------解决方案--------------------
是scene先接到事件。

可以在scene的contextMenuEvent中,对当前是否选中了item进行判断。

例如:

C/C++ code
if (itemAt(contextMenuEvent->scenePos())){    QGraphicsScene::contextMenuEvent(contextMenuEvent);}
------解决方案--------------------
我的item右键显示不出来,郁闷啊~~~
------解决方案--------------------
探讨

我的item右键显示不出来,郁闷啊~~~

------解决方案--------------------
其实这个问题,我建议就不要为Item设置菜单了,直接在scene的contextMenuEvent中通过itemAt(contextMenuEvent->scenePos())拾取当前选中的元素,根据类型弹出不同的菜单就得了。
------解决方案--------------------
探讨

但是我的item是可移动的,可缩放的,这样也支持么?
  相关解决方案