biomotor Asked:2022-06-28 02:40:28 +0000 UTC2022-06-28 02:40:28 +0000 UTC 2022-06-28 02:40:28 +0000 UTC 如何捕捉 Qwidget 的焦点丢失(PyQt5)? 772 如何捕捉 Qwidget 焦点丢失 (PyQt5)。 失去焦点时必须关闭应用程序。 python pyqt5 1 个回答 Voted Best Answer S. Nick 2022-06-28T07:48:43Z2022-06-28T07:48:43Z void QApplication:: focusChanged (QWidget *old, QWidget *now) Этот сигнал испускается,当具有键盘焦点的小部件从旧的变为真实的时,即 когда пользователь按下 tab 键,单击小部件,或者 old 和 present 都可以是 nullptr。изменил активное окно. import sys from PyQt5.Qt import * class MyGui(QWidget): def __init__(self): super().__init__() self.setFocus() app.focusChanged.connect(self.onFocusChanged) def onFocusChanged(self): print(f' Окно активное (сфокусировано ли окно или нет) ? -> `{self.isActiveWindow()}`') if not self.isActiveWindow(): self.close() if __name__ == "__main__": app = QApplication(sys.argv) gui = MyGui() gui.show() sys.exit(app.exec_())
void QApplication:: focusChanged (QWidget *old, QWidget *now)
Этот сигнал испускается,当具有键盘焦点的小部件从旧的变为真实的时,即когда пользователь按下 tab 键,单击小部件,或者 old 和 present 都可以是 nullptr。изменил активное окно.