QT
大约 1 分钟
QT
目录
网页展示
参考:
- 【CSDN】Qt实现简单的显示网页(QtWebkit、QtWebEngine、QAxWidget)
- [官网手册 - 目录](https://doc.qt.io/qt-6/qtwebengine-index.html)
- [官网手册 - 概述与基本使用](https://doc.qt.io/qt-6/qtwebengine-overview.html)
三种方法
应用场景和版本兼容
首先先说说QtWebkit、QtWebEngine、QAxWidget三种方式显示网页的应用场景
- QtWebkit:在Qt5.6以前,都是使用QtWebkit组件。但Qt5.6以后,移除了QtWebkit这个组件
- QtWebEngine:Qt5.6以后的MSVC版本,引进了基于Chromium的浏览器引擎 QtWebEngine
- QAxWidget:Qt5.6以后的mingw版本,由于移除了QtWebkit,mingw版本不能使用QtWebEngine,因此只能使用QAxWidget控件
兼容性代码
参考:https://www.zhihu.com/question/459653716
错误
Qt6找不到WebEngine
QT += WebEngineWidgets
报错:ERROR: Unknown module(s) in QT: webenginewidgets
是因为在安装管理器中的层次不同
Qt5.15的Qt WebEngine在根,而Qt6.0、Qt6.1都没有,而Qt6.2的Qt WebEngine库在Additional Libraries下面
要另外安装
QtWebEngine
由 Qt WebEngine Widgets、Qt WebEngine、Qt WebEngine Process 三部分组成
QtWebEngineWidget(废弃)
在5.6.0版本以后就弃用了,新版本是使用"QWebEngineView"
QWebEngineView
报错
情形:我在插件中使用WebEngine 他知道我在插件中用WebEngin,就报错让我在构造QGuiApplication之前,使用QCoreApplication::setAttribute
设置Qt::AA_ShareOpenGLContexts。
报错
Qt WebEngine seems to be initialized from a plugin.
Please set Qt::AA_ShareOpenGLContexts using QCoreApplication::setAttribute before constructing QGuiApplication.
解决:加上
QCoreApplication::setAttribute(Qt::AA_ShareOpenGLContexts);