![](/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.