帮助qt4 qgraphicsview

时间:2009-12-25 00:46:10

标签: events qt4 pyqt signals

我已经用pygtk做了很多东西但是我决定学习pyqt,我坚持在qgraphicsview我有absolutley不知道如何从我放置在图形视图上的项目获取信号,主要是鼠标事件。如何从场景中的个别项目中获取鼠标事件?

3 个答案:

答案 0 :(得分:1)

QGraphicsItem不是QObject,不能发送信号,也不能接收插槽。相反,您必须处理事件。您可以通过事件过滤器,对视图或场景进行子类化来拦截事件,或者简单地对项本身进行子类化并实现事件处理函数(请参阅文档中的受保护成员函数)。也许这个例子很有意思:http://doc.trolltech.com/4.6/graphicsview-diagramscene.html

答案 1 :(得分:0)

创建项目后,将您想要的信号连接到包含它的小部件实例。

答案 2 :(得分:0)

另一种选择是放弃使用信号并让你的QGraphicItem实例通过保持对它的引用直接调用其父类的方法。这不如使用信号那么漂亮,但最终,它完成了工作。