python - QWebEngineView:计时器在可见时不起作用
问题描述
我试图实现这个问题的代码,但我发现QTimer
在某些情况下不会触发。
简化代码:
app = QApplication([])
view = QWebEngineView()
view.show()
def callback():
sys.exit(0)
QTimer.singleShot(1000, callback)
app.exec()
应用程序使用此代码永远运行(即callback
永远不会执行)。但是,如果您注释掉,view.show()
那么它应该在一秒钟后退出。
据我所知,这个问题是特殊的QWebEngineView
;如果我们将 替换QWebEngineView
为通用的QWidget
or QLabel
,那么它会按预期工作并在一秒钟后退出。
这是什么原因,我该如何解决?
解决方案
根据@eyllanesc 的提示,我发现这是该PyQtWebEngine
模块 5.14.0 版本引入的错误;以前的版本 (5.13.2) 没有显示此行为。
推荐阅读
- vba - 输入框编译错误
- c# - 如何在 C# 中以编程方式选择 datagridview 行
- ionic3 - 应用浏览器 IONIC 3 中的模板解析错误
- excel - 当任何一列包含某个单词时如何突出显示整行?
- .net - 使用轮询线程抓取重复项的 BlockingCollection
- ios - Swift & Firebase - Cloud firestore 可扩展?
- html - 如何从 Bootstrap 按钮中删除悬停效果?
- javascript - 如何将 TypeORM 与 ExpressJS 一起使用(从 Express 生成器生成的项目)?
- r - Rstudio 非常缓慢
- javascript - 为什么 axios 会导致 Access-Control-Allow-Origin 错误