此特定窗口有2个QLineEdits:一个名为" User"另一个叫"密码"。在他们下面有一个用许多QPushButtons创建的键盘。现在,我必须告诉连接到这些按钮的方法在所选的QLineEdit中打印相应的字母或数字,并且我很难获得此时选择了QLineEdit的信号。
我该如何获得该信号?该应用程序以" User"重点:self.User.setFocus()
谢谢。
答案 0 :(得分:4)
默认情况下,单击按钮时,按钮将获得焦点。您可以通过将焦点策略设置为NoFocus
来更改此设置。这样,当用户点击按钮时,您的生产线就不会失去焦点。
button.setFocusPolicy(QtCore.Qt.NoFocus)
只要单击按钮时lineedit具有焦点,您就可以在按钮处理程序中获得焦点小部件,如下所示:
lineedit = QtGui.QApplication.focusWidget()
您可以检查以确保焦点窗口小部件是两个lineedit窗口小部件之一,然后相应地更新它们的文本。