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
特有的;如果我们用通用的 QWidget
或 QLabel
替换 QWebEngineView
,那么它会按预期工作并在一秒后退出。
这是什么原因,我该如何解决?
根据@eyllanesc 的提示,我发现这是 PyQtWebEngine
模块的 5.14.0 版本引入的错误;以前的版本 (5.13.2) 没有显示此行为。
我试图实现 this question 中的代码,但我发现 QTimer
在某些情况下不会触发。
简化代码:
app = QApplication([])
view = QWebEngineView()
view.show()
def callback():
sys.exit(0)
QTimer.singleShot(1000, callback)
app.exec()
应用程序使用此代码永远运行(即永远不会执行 callback
)。但是,如果您注释掉 view.show()
,那么它会在一秒钟后退出。
据我所知,这个问题是 QWebEngineView
特有的;如果我们用通用的 QWidget
或 QLabel
替换 QWebEngineView
,那么它会按预期工作并在一秒后退出。
这是什么原因,我该如何解决?
根据@eyllanesc 的提示,我发现这是 PyQtWebEngine
模块的 5.14.0 版本引入的错误;以前的版本 (5.13.2) 没有显示此行为。