![](/img/trans.png)
[英]PyQt: ReturnPressed method on a lineEdit is connecting to the wrong button
[英]pyqt.returnPressed conecting to function 2 times,need 1
我看到了这种将信息从 Main 传递到其他 windows 的方法,并且在应用程序的另一部分一切正常。
class uch_info(QtWidgets.QMainWindow):
def __init__(self, parent=None):
super(uch_info, self).__init__(parent)
self.ui = Ui_Uch_info()
self.ui.setupUi(self)
def displayInfo(self):
self.show()
class main_window(QtWidgets.QMainWindow):
def __init__(self, parent=None):
super(main_window, self).__init__(parent)
self.uch_info= uch_info()
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
self.ui.tableWidget_uch.cellDoubleClicked.connect(self.open_uch_Window)
def open_uch_Window(self):
row = self.ui.tableWidget_uch.currentIndex().row()
users = db.reference('users').get()
users_list=users.get(list(users.keys())[row])
self.uch_info.ui.lineEdit.returnPressed.connect(partial(self.button, users_list.get('login')))
self.uch_info.displayInfo()
def button(self,login):
print('button clicked,login',login)
在这里,当您第一次单击tableWidget_uch
时一切正常,并且open_uch_Window
window 打开并且调用returnPressed
事件时,它仅显示 1 次 1 次登录。 单击output按钮,登录 dimarom4
但是当我点击tableWidget_uch
并第二次打开open_uch_Window
window 并调用returnPressed
事件时,它返回两次“print('button clicked,login',login)':第一次来自过去的 login1 调用,第二次来自这次调用登入2
output单击按钮,登录 dimarom4 单击按钮,登录 zayaz
如何使它正确? 这样每个returnPressed.connect
只连接一次button
我在button
中print
后使用self.uch_info.ui.lineEdit.returnPressed.disconect()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.