Python PyQt:lineEdit上的ReturnPressed方法连接到错误的按钮

Python PyQt:lineEdit上的ReturnPressed方法连接到错误的按钮,python,pyqt,Python,Pyqt,我有一个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.cli

我有一个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()方法的结果相同。如果以前有人遇到过这种情况,我真的很想知道我哪里出了问题


谢谢

如果
clfdlg
是一个
QDialog
,那么您可能会与按钮的属性发生冲突。尝试在所有相关按钮上显式清除此属性:

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