Pyqt:如何获得QLineEdit聚焦的信号?

时间:2016-03-23 16:15:59

标签: events pyqt focus

此特定窗口有2个QLineEdits:一个名为" User"另一个叫"密码"。在他们下面有一个用许多QPushButtons创建的键盘。现在,我必须告诉连接到这些按钮的方法在所选的QLineEdit中打印相应的字母或数字,并且我很难获得此时选择了QLineEdit的信号。

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

谢谢。

1 个答案:

答案 0 :(得分:4)

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

 button.setFocusPolicy(QtCore.Qt.NoFocus)

只要单击按钮时lineedit具有焦点,您就可以在按钮处理程序中获得焦点小部件,如下所示:

lineedit = QtGui.QApplication.focusWidget()

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