簡體   English   中英

PyQt:lineEdit上的ReturnPressed方法連接到錯誤的按鈕

[英]PyQt: ReturnPressed method on a lineEdit is connecting to the wrong button

我有一個lineEdit和三個按鈕; 接下來,返回並完成。 如果用戶在焦點位於lineEdit上時按Enter,則希望它與按next相同。 這是我在init方法中的代碼:

    self.clfdlg.lineEdit.returnPressed.connect(lambda: self.clfdlg.next.click())
    self.clfdlg.next.clicked.connect(lambda: self.next())   
    self.clfdlg.back.clicked.connect(lambda: self.back())
    self.clfdlg.finish.clicked.connect(lambda: self.finish())

而不是調用next()方法,而是調用finish()方法。 我也嘗試過:

    self.clfdlg.lineEdit.returnPressed.connect(lambda: self.next())

這具有調用finish()方法的相同結果。 以前有沒有發生過這種情況,我真的很感謝一些關於我要去哪里的建議。

謝謝

如果clfdlgQDialog ,則可能與按鈕的default屬性clfdlg 嘗試在所有相關按鈕上明確清除此屬性:

    self.clfdlg.next.setAutoDefault(False)
    self.clfdlg.next.setDefault(False)
    self.clfdlg.back.setAutoDefault(False)
    # etc ...

暫無
暫無

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

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