2016-04-02 29 views
1

我有一個lineEdit和三個按鈕;接下來,返回並完成。如果用戶在焦點位於lineEdit時按下Enter鍵,我希望它與下一個按下時相同。這是我在初始化方法代碼:PyQt:一行上的ReturnPressed方法EditEdit連接到錯誤的按鈕

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()方法被調用,完成()方法被調用。我也嘗試過:

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

這與調用finish()方法的結果相同。以前有沒有人發生過這種情況,我真的很感謝有關我哪裏出錯的建議。

感謝

回答

2

如果clfdlgQDialog,你可能落下按鈕的default財產的犯規。嘗試明確地清除所有相關按鈕上的這個屬性:

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

這工作完美,非常感謝你! – lpdudley

相關問題