Python PyQt:lineEdit上的ReturnPressed方法连接到错误的按钮
我有一个lineEdit和三个按钮;下一步,返回并完成。如果用户在焦点位于lineEdit时按enter键,我希望它与按next键相同。这是我在init方法中的代码: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
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 ...