"QTextEdit文本变化信号异常"

2024-09-27 00:11:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用Python3和PyQt5创建一个包含表单元素的应用程序,比如QLineEdit和{}。在

我从QLineEdit收集数据,如下所示(工作正常):

    self.rolAdi = QtWidgets.QLineEdit(self.centralWidget)
    self.rolAdi.setObjectName("rolAdi")

    self.rolAdi.textChanged.connect(self.textSonDurum)

def textSonDurum(self, s):
    print("Text changed...>>> "+s)

但是,使用QTextEdit控件的相同方法不起作用-只要我更改控件的内容,程序就会停止:

^{pr2}$

我研究了这个问题,发现了一个关于使用disconnect函数的建议,但是在PyQt5中找不到它。在

self.IP.textChanged.disconnect()

输出错误

TypeError: disconnect() failed between 'textChanged' and all its connections

(完整的代码粘贴在这里很长,但是如果您需要其他部分,请告诉我)。在


Tags: 数据self应用程序元素表单pyqt5python3控件
1条回答
网友
1楼 · 发布于 2024-09-27 00:11:16

QTextEdittextChanged signalQLineEdittextChanged signal有不同的签名,因为它不传递已更改的文本。这是因为QTextEdit既支持纯文本,也支持富文本(即html),因此您需要显式地请求所需的内容类型:

   self.IP.textChanged.connect(self.textSonDurum)

def textSonDurum(self):
    print("Text changed...>>> " + self.IP.toPlainText())

相关问题 更多 >

    热门问题