Qt WebView

Qt WebView 允许您在 QML 应用程序中显示网页内容。为了避免包含完整的网页浏览器堆栈,Qt WebView 在适当的时候使用本地 API。

这在移动平台上很有用,例如 AndroidiOS。在 iOS 上,策略规定所有网页内容都应使用操作系统的网页视图显示。

在 Windows 和 Linux 上,Qt WebView 依赖于 Qt WebEngine 模块来渲染内容。

在 macOS 上,系统网页视图的使用方式与 iOS 相同。

先决条件

为了使 Qt WebView 模块在所有平台上正确工作,需要在创建 QGuiApplication 实例以及创建窗口的 QPlatformOpenGLContext 之前调用 QtWebView::initialize()

使用模块

QML API

该模块的 QML 类型通过 QtWebView 导入提供。要使用这些类型,请将以下导入语句添加到您的 .qml 文件中

import QtWebView

C++ API

使用 Qt 模块的 C++ API 需要链接到模块库,无论是直接链接还是通过其他依赖项。包括 CMakeqmake 在内的几个构建工具都对此有专门的支持。

使用 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 可在 Qt 公司 的商业许可证下获得。此外,它还可在 GNU Lesser General Public License,版本 3GNU General Public License,版本 2 下获得。有关详细信息,请参阅 Qt 许可

© 2024 The Qt Company Ltd。本文件中的文档贡献者是各自所有者的版权所有者。本文件提供的文档是根据自由软件基金会发布的 GNU 自由文档许可协议版本 1.3 的条款提供的。Qt 及其相关标志是 The Qt Company Ltd. 在芬兰和/或世界其他国家的商标。所有其他商标均为其各自所有者的财产。