在QGraphicsView
的子类中,我实现了wheelEvent(event)
事件处理程序,如下所示:
def wheelEvent(self, event):
print "Wheel event received"
event.ignore()
据我所知,这实际上应该只是打印上面的字符串。 QWheelEvent.ignore()
应该将事件传递给父级并继续其常规业务(即滚动)。 documentation明确指出:
如果你重新实现这个处理程序,如果你不处理它就忽略()事件是非常重要的,这样小部件的父级就可以解释它。
在这种情况下,QGraphicsView
是主窗口小部件,因此它没有父窗口(除非父窗口是指从中派生它的父类)。
但实际上,字符串按预期打印,但视图不会滚动其内容。
那么如何实现此方法和让QGraphicsView
滚动?
答案 0 :(得分:1)
好吧,如果你永远不会调用主类,那么对于父类(并且是你继承的对象)来说,做任何事都会很困难,代码什么时候运行?
添加super(type(self), self)
应该会有所帮助(感谢@mata提供正确的python2语法)