使用Qt将事件从QGraphicsScene传递到C ++中的QGraphicsItem

时间:2011-03-07 08:36:29

标签: c++ events qt qgraphicsitem

我有一个扩展QGraphicsScene的基类......

class BaseScene : public QGraphicsScene
该课程中的

是受保护的事件......

void BaseScene::mousePressEvent(QGraphicsSceneMouseEvent *mouseEvent)

有些用户点击我需要将事件传递到QGraphicsScene内的QGraphicsItem,因为QGraphicsItem还包含“mousePressEvent”。

如何将我选择的事件从QGprahicsScene设置为特定的QGraphicsItem

谢谢。

1 个答案:

答案 0 :(得分:1)

在重新实现的mousePressEvent()中添加:

QGraphicsScene::mousePressEvent(mouseEvent);

这将调用默认实现:“默认实现取决于场景的状态。如果有鼠标抓取项,则事件被发送到鼠标抓取器。否则,它被转发到最顶层的项目从事件接收场景位置的鼠标事件,该项目立即成为鼠标抓取项目。“

希望这有帮助