PyQt QTextEdit:检测更改事件

edi*_*999 1 python events qt pyqt pyqt4

我正在覆盖 PyQT QTextEdit中的一些事件,例如:

class myTextEditor(QTextEdit):
    def keyPressEvent(self,e):
                print 'key pressed'
        return super(myTextEditor, self).keyPressEvent(e)
Run Code Online (Sandbox Code Playgroud)

Howewer,在changeEvent中,记录在这里,似乎并没有工作.这是我的代码

def changeEvent(self,e):
    print 'change'
    return super(myTextEditor, self).changeEvent(e)
Run Code Online (Sandbox Code Playgroud)

没有错误,但事件未得到处理.

任何想法如何在PyQt中为QTextEdit 使用changeEvent(当文本被更改时)?

Pav*_*hov 6

changeEvent与更改文本编辑的内容无关.它仅解决一般QWidget状态更改.请参阅此页面以获取与此方法相关的事件列表.

您应该连接到QTextEdit::textChanged()信号以跟踪文本更改.