Я пытался реализовать код из этого вопроса, но Я обнаружил, что QTimer
не срабатывает при определенных обстоятельствах.
Упрощенный код:
app = QApplication([])
view = QWebEngineView()
view.show()
def callback():
sys.exit(0)
QTimer.singleShot(1000, callback)
app.exec()
Приложение работает вечно с этим кодом (т.е. callback
никогда не выполняется). Однако, если вы закомментируете view.show()
, он выйдет через одну секунду, как и должно быть.
Насколько я могу судить, эта проблема специфична для QWebEngineView
; если мы заменим QWebEngineView
общим QWidget
или QLabel
, то он будет работать как положено и завершится через одну секунду.
В чем причина этого и как я могу это исправить?