gpt4 book ai didi

python - QTextEdit textChanged 信号异常

转载 作者:行者123 更新时间:2023-11-28 17:10:56 25 4
gpt4 key购买 nike

我正在使用 Python3 和 PyQt5 创建一个包含表单元素的应用程序,例如 QLineEditQTextEdit

我按如下方式从 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 控件的相同方法不起作用 - 每当我更改控件的内容时,程序都会停止:

   self.IP = QtWidgets.QTextEdit(self.centralWidget)
self.IP.setObjectName("IP")

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

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

我研究了这个问题,我发现了一个涉及使用断开连接功能的建议,但在 PyQt5 中找不到它。

self.IP.textChanged.disconnect()

输出错误:

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

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

最佳答案

QTextEdit textChanged signalQLineEdit 有不同的签名 textChanged signal ,因为它不会传递已更改的文本。这是因为 QTextEdit 支持富文本(即 html)和纯文本,所以您需要明确请求您想要的内容类型:

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

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

关于python - QTextEdit textChanged 信号异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47513816/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com