#python #user-interface #event-handling #pyqt5 #pyside
#python #пользовательский интерфейс #обработка событий #pyqt5 #pyside
Вопрос:
Я пытаюсь добавить событие, которое срабатывает, когда окно неактивно (- когда пользовательская мышь щелкнула по другому приложению или рабочему столу). Прочитав много официальной документации, я все еще теряюсь. Я также надеюсь сделать это с помощью других действий, но это будет первый шаг.
Ответ №1:
Вы должны использовать activeChanged
сигнал, который выдается каждый раз, когда QWindow изменяет состояние, и isActive()
который указывает, активен он или нет:
import sys
from PyQt5 import QtWidgets
app = QtWidgets.QApplication(sys.argv)
w = QtWidgets.QWidget()
w.show()
qwindow = w.windowHandle()
if qwindow is not None:
def handle_activeChanged():
print("isActive? {}".format(qwindow.isActive()))
qwindow.activeChanged.connect(handle_activeChanged)
sys.exit(app.exec_())