如何断开PyQt中QLineEdit的returnPressed信号与关联函数?
问题分析与解决方法
你犯了一个极易忽略的小错误:你关联信号的是self.usernameLineEdit,但断开时操作的却是self.confirmationCodeLineEdit——两个是完全不同的QLineEdit对象,自然无法断开原本的关联。
正确的断开方式
根据你的关联代码,需要对self.usernameLineEdit执行断开操作:
- 精准断开指定函数的关联:
self.usernameLineEdit.returnPressed.disconnect(self.send_code_clicked)
- 断开该信号的所有关联(若该信号还绑定了其他函数):
self.usernameLineEdit.returnPressed.disconnect()
额外提示
如果不确定信号是否已关联目标函数,为避免运行时报错,可加try-except包裹:
try: self.usernameLineEdit.returnPressed.disconnect(self.send_code_clicked) except TypeError: # 信号未关联该函数,无需处理 pass
内容的提问来源于stack exchange,提问作者Arash Rafiee
相关产品推荐
相关产品推荐

