如何在PyQt中调用QtWebEngine::initialize()解决初始化错误?
解决PyQt5中QtWebEngine初始化错误的问题
运行包含QML WebEngineView的PyQt5程序时出现如下错误:
WebEngineContext used before QtWebEngine::initialize() or OpenGL context creation failed.
解决方法
在PyQt5中,对应C++的QtWebEngine::initialize()的方法是QtWebEngine.initialize(),需要在创建QGuiApplication实例之前调用。
修改后的Python代码如下:
import sys from PyQt5.QtWebEngine import QtWebEngine from PyQt5.QtGui import QGuiApplication from PyQt5.QtQml import QQmlApplicationEngine # 先初始化QtWebEngine QtWebEngine.initialize() app = QGuiApplication(sys.argv) engine = QQmlApplicationEngine() engine.quit.connect(app.quit) engine.load('main.qml') sys.exit(app.exec())
注意事项
- 必须确保
QtWebEngine.initialize()在QGuiApplication实例化之前执行,否则错误依然会出现。 - 原有的QML代码无需修改,保持原样即可。
内容的提问来源于stack exchange,提问作者kharandziuk
相关产品推荐
相关产品推荐

