如何通过鼠标单击 select 一个位置并在 QGraphicsView 中添加一个项目?
How to select a position and add an item in a QGraphicsView by mouse click?
我想 select 通过鼠标单击 QGraphicsView
中的位置和项目,并将项目添加到此 position/item 的连接视图中。我需要实现我自己的 QGraphicsView
子类还是有更短的解决方案,例如用 signal/slot?
有几种方法可以做到:
重新实现mousePressEvent(QMouseEvent*)
(所以,你需要实现QGraphicsView
的子类),
为 QGraphicsView
调用 installEventFilter(QObject *)
并实现 bool eventFilter(QObject *, QEvent *)
以捕获所有事件(并仅处理此函数内的 QEvent::MouseButtonPress
)。在这种情况下,您不需要实现 QGraphicsView
.
的子类
另请参阅:Click event for QGraphicsView Qt and How to draw a point (on mouseclick) on a QGraphicsScene
我想 select 通过鼠标单击 QGraphicsView
中的位置和项目,并将项目添加到此 position/item 的连接视图中。我需要实现我自己的 QGraphicsView
子类还是有更短的解决方案,例如用 signal/slot?
有几种方法可以做到:
重新实现
mousePressEvent(QMouseEvent*)
(所以,你需要实现QGraphicsView
的子类),为
QGraphicsView
调用installEventFilter(QObject *)
并实现bool eventFilter(QObject *, QEvent *)
以捕获所有事件(并仅处理此函数内的QEvent::MouseButtonPress
)。在这种情况下,您不需要实现QGraphicsView
. 的子类
另请参阅:Click event for QGraphicsView Qt and How to draw a point (on mouseclick) on a QGraphicsScene