我想通过鼠标单击选择QGraphicsView中的位置和项目,然后在此位置/项目将项目添加到连接的视图中。我是否需要实现自己的QGraphicsView子类,还是有一个较短的解决方案,例如有信号/插槽?

最佳答案

有几种方法可以做到:


重新实现mousePressEvent(QMouseEvent*)(因此,您需要实现QGraphicsView的子类),
installEventFilter(QObject *)调用QGraphicsView并实现bool eventFilter(QObject *, QEvent *)以捕获所有事件(并且仅在此函数内处理QEvent::MouseButtonPress)。在这种情况下,您无需实现QGraphicsView的子类。


另请参见:Click event for QGraphicsView QtHow to draw a point (on mouseclick) on a QGraphicsScene

关于c++ - 如何通过单击鼠标来选择位置并在QGraphicsView中添加项目?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32202371/

10-13 06:50