重新实现 mousePressEvent 后无法在 QGraphicsView 中拖动项目

Unable to drag items in QGraphicsView after reimplementing mousePressEvent

情况是这样的: 我有 QGraphicsView、QGraphicsScene 和 QGraphicsItem。 当我不实现鼠标事件时,我可以拖动项目。 但是当我在 QGraphicsView

中实现时
class MyView: public QGraphicsView {
...
protected:
    void mouseMoveEvent(QMouseEvent *event);
    void mouseReleaseEvent(QMouseEvent *event);
    void mousePressEvent(QMouseEvent *event);
...
}

我不能再拖动项目了。

我是否应该以某种方式为 QGraphicsItem 实现鼠标事件并从 QGraphicsView 转换它们?

目前,在 QGraphicsItem 中我没有这些方法并使用默认值。 谢谢你。

您可以自己实现 QGraphicsItem 的移动,或者为 mouseMoveEventmouseReleaseEventmousePressEvent 调用 super 以继续处理 [=14= 中的事件].