簡體   English   中英

pyqt.return按下連接function 2次,需要1次

[英]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

我在buttonprint后使用self.uch_info.ui.lineEdit.returnPressed.disconect()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM