Pyqt:如何获得 QLineEdit 处于焦点上的信号?

Pyqt: How to get a signal that QLineEdit is on focus?

这个特定的 window 有 2 个 QLineEdits:一个叫做 "User",另一个叫做 "Password"。在它们下面有一个用许多 QPushButtons 创建的键盘。现在,我必须告诉连接到这些按钮的方法在所选 QLineEdit 中打印相应的字母或数字,我很难获得目前选择 QLineEdit 的信号。

我如何获得该信号?该应用程序以 "User" 开头,重点是:self.User.setFocus()

谢谢。

默认情况下,单击按钮时它们会获得焦点。您可以通过将他们的焦点策略设置为 NoFocus 来更改此设置。这样,当用户单击按钮时,您的行编辑不会失去焦点。

 button.setFocusPolicy(QtCore.Qt.NoFocus)

只要在单击按钮时 lineedit 具有焦点,您就可以像这样在按钮处理程序中获取焦点小部件:

lineedit = QtGui.QApplication.focusWidget()

您可以检查以确保焦点小部件是两个 lineedit 小部件之一,然后相应地更新它们的文本。