重新实现 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
的移动,或者为 mouseMoveEvent
、mouseReleaseEvent
和 mousePressEvent
调用 super 以继续处理 [=14= 中的事件].
情况是这样的: 我有 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
的移动,或者为 mouseMoveEvent
、mouseReleaseEvent
和 mousePressEvent
调用 super 以继续处理 [=14= 中的事件].