QWebEngineView: таймеры не работают, когда видны - PullRequest
0 голосов
/ 11 марта 2020

Я пытался реализовать код из этого вопроса , но обнаружил, что QTimer не срабатывает при определенных обстоятельствах.

Упрощенный код:

app = QApplication([])

view = QWebEngineView()
view.show()

def callback():
    sys.exit(0)

QTimer.singleShot(1000, callback)

app.exec()

Приложение работает с этим кодом навсегда (ie. callback никогда не выполняется). Однако, если вы закомментируете view.show(), то он завершится через одну секунду, как и должно быть.

Насколько я могу судить, эта проблема относится только к QWebEngineView; если мы заменим QWebEngineView на c QWidget или QLabel, то он будет работать, как ожидается, и выйдет через одну секунду.

В чем причина этого и как я могу это исправить это?

1 Ответ

0 голосов
/ 11 марта 2020

По запросу @ eyllanes c я обнаружил, что это ошибка, появившаяся в выпуске 5.14.0 модуля PyQtWebEngine; предыдущая версия (5.13.2) не показывает это поведение.

...