Qt WebView
Qt WebView 允许您在 QML 应用程序中显示网页内容。为了避免包含完整的网页浏览器栈,Qt WebView 会在适当的情况下使用原生 API。
这在Android和iOS 等移动平台上非常有用。在 iOS 上,相关政策规定所有 Web 内容必须通过操作系统的 WebView 进行显示。
在 Windows 上,Qt WebView 既可以使用 Qt WebEngine 模块和WebView2来呈现内容。
在 Linux 上,Qt WebView 依赖 Qt WebEngine 模块来呈现内容。
在 macOS 上,系统 WebView 的使用方式与 iOS 相同。
先决条件
为了使 QtWebView 模块在所有平台上都能正常工作,必须在 QtWebView::initialize() ,并在创建 QGuiApplication 实例以及窗口的QPlatformOpenGLContext 创建之前,必须调用该函数。
使用该模块
QML API
可通过 `QtWebView ` 导入使用该模块的 QML 类型。要使用这些类型,请在您的 .qml 文件中添加以下导入语句:
import QtWebViewC++ API
要使用 Qt 模块的 C++ API,需要将模块库链接到项目中,既可以直接链接,也可以通过其他依赖项间接链接。包括CMake和qmake 在内的多种构建工具都为此提供了专门的支持。
使用 CMake 构建
使用find_package() 命令在Qt6 软件包中定位所需的模块组件:
find_package(Qt6 REQUIRED COMPONENTS WebView)
target_link_libraries(mytarget PRIVATE Qt6::WebView)更多详细信息,请参阅“使用 CMake 构建”概述。
使用 qmake 构建
要配置模块以便使用 qmake 进行构建,请在项目的 .pro 文件中将该模块作为QT 变量的值添加:
QT += webview限制
由于平台限制,不支持将WebView 与其他 QML 组件重叠。这样做会导致不可预测的结果,且结果可能因平台而异。 应用程序也不能依赖WebView 中的事件传播到Qt事件传递系统。例如,无法将一个不可见的项“叠加”在WebView 之上以处理某些事件,也无法处理WebView 在父项中未处理的事件。
示例
请参阅Qt WebView 示例,了解这些 API 在应用程序中的具体应用。
参考
许可证
Qt WebView 由The Qt Company 提供商业许可。此外,它还遵循GNU 较宽松通用公共许可证第 3 版(LGPLv3)或GNU 通用公共许可证第 2 版(GPLv2)。更多详细信息请参阅Qt 许可。
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.