首页 > 解决方案 > QWebEngineView:计时器在可见时不起作用

问题描述

我试图实现这个问题的代码,但我发现QTimer在某些情况下不会触发。

简化代码:

app = QApplication([])

view = QWebEngineView()
view.show()

def callback():
    sys.exit(0)

QTimer.singleShot(1000, callback)

app.exec()

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

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

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

标签: pythonpyqtpyqt5qtimerqwebengineview

解决方案


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


推荐阅读