我在我的QMainWindow上设置了这样的过滤器:
keyPressFilter = keypressfilter.KeyPressFilter(self)
self.installEventFilter(keyPressFilter)KeyPressFilter本身:
class KeyPressFilter(QObject):
def __init__(self, parent=None):
super(KeyPressFilter, self).__init__(parent)
def eventFilter(self, obj, event):
if event.type() == QEvent.KeyPress:
print "key press %d" % event.key()
return True
else:
return QObject.eventFilter(obj, event) <- line NN对于每个eventtype QEvent\QPaintEvent\QHoverEvent\etc,我都收到了无数的错误:
line NN, in eventFilter:
TypeError: QObject.eventFilter(QObject, QEvent): argument 2 has unexpected type 'QPaintEvent'我怎样才能摆脱它?
在Thx之前,
Serge
发布于 2010-02-17 06:25:06
eventFilter()不是类方法,因此您还需要传递self:
return QObject.eventFilter(self, obj, event)https://stackoverflow.com/questions/2276810
复制相似问题