首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PyQt。TypeError

PyQt。TypeError
EN

Stack Overflow用户
提问于 2010-02-17 06:19:41
回答 1查看 708关注 0票数 4

我在我的QMainWindow上设置了这样的过滤器:

代码语言:javascript
复制
keyPressFilter = keypressfilter.KeyPressFilter(self)
self.installEventFilter(keyPressFilter)

KeyPressFilter本身:

代码语言:javascript
复制
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,我都收到了无数的错误:

代码语言:javascript
复制
line NN, in eventFilter:
TypeError: QObject.eventFilter(QObject, QEvent): argument 2 has unexpected type 'QPaintEvent'

我怎样才能摆脱它?

在Thx之前,

Serge

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-02-17 06:25:06

eventFilter()不是类方法,因此您还需要传递self

代码语言:javascript
复制
return QObject.eventFilter(self, obj, event)
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2276810

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档