0

在 的子类中QGraphicsView,我实现了wheelEvent(event)事件处理程序,如下所示:

def wheelEvent(self, event):

    print "Wheel event received"
    event.ignore()

据我了解,这实际上应该只是打印上面的字符串。应该将QWheelEvent.ignore()事件传递给父级并继续其通常的业务(即滚动)。文档对此很明确:

如果你重新实现这个处理程序,如果你不处理它,那么忽略() 事件是非常重要的,这样小部件的父级可以解释它。

在这种情况下,QGraphicsView是主小部件,因此它没有父级(除非父级是指派生它的父类)。

然而,在实践中,字符串按预期打印,但视图不会滚动其内容。

那么如何实现此方法获得QGraphicsView滚动?

4

1 回答 1

1

好吧,如果您从不调用主类,那么父类(是的,这是您继承的对象)将很难做任何事情,代码何时运行?

添加super(type(self), self)应该有帮助(感谢@mata 提供正确的python2 语法)

于 2012-05-26T12:04:50.267 回答