QWebEngineView:计时器在可见时不起作用

QWebEngineView: Timers do not function when visible

我试图实现 this question 中的代码,但我发现 QTimer 在某些情况下不会触发。

简化代码:

app = QApplication([])

view = QWebEngineView()
view.show()

def callback():
    sys.exit(0)

QTimer.singleShot(1000, callback)

app.exec()

应用程序使用此代码永远运行(即永远不会执行 callback)。但是,如果您注释掉 view.show(),那么它会在一秒钟后退出。

据我所知,这个问题是 QWebEngineView 特有的;如果我们用通用的 QWidgetQLabel 替换 QWebEngineView,那么它会按预期工作并在一秒后退出。

这是什么原因,我该如何解决?

根据@eyllanesc 的提示,我发现这是 PyQtWebEngine 模块的 5.14.0 版本引入的错误;以前的版本 (5.13.2) 没有显示此行为。