Qt WebView

Qt WebView lets you display web content inside a QML application. To avoid including a full web browser stack, Qt WebView uses native APIs where appropriate.

This is useful on mobile platforms, such as Android and iOS. On iOS, policies dictate that all web content is displayed using the operating system's web view.

On Windows and Linux, Qt WebView depends on the Qt WebEngine module to render content.

On macOS, the system web view is used in the same manner as iOS.

Prerequisites

To make the Qt WebView module function correctly across all platforms, it's necessary to call QtWebView::initialize() before creating the QGuiApplication instance and before window's QPlatformOpenGLContext is created.

Using The Module

QML API

The QML types of the module are available through the QtWebView import. To use the types, add the following import statement to your .qml file:

import QtWebView

C++ API

Using a Qt module's C++ API requires linking against the module library, either directly or through other dependencies. Several build tools have dedicated support for this, including CMake and qmake.

Building with CMake

Use the find_package() command to locate the needed module component in the Qt6 package:

find_package(Qt6 REQUIRED COMPONENTS WebView)
target_link_libraries(mytarget PRIVATE Qt6::WebView)

For more details, see the Build with CMake overview.

Building with qmake

To configure the module for building with qmake, add the module as a value of the QT variable in the project's .pro file:

QT += webview

Limitations

Due to platform limitations, overlapping the WebView with other QML components is not supported. Doing this will have unpredictable results, which may differ from platform to platform. Applications can also not rely on events in the WebView to propagate into the Qt event delivery system. E.g. it is not possible to "overlay" an invisible item on top of the WebView to handle certain events, or to handle events that the WebView doesn't process in a parent item.

Examples

Look at the Qt WebView Examples for a demonstration on how the APIs can be used in applications.

Reference

Licenses

Qt WebView is available under commercial licenses from The Qt Company. In addition, it is available under the GNU Lesser General Public License, version 3, or the GNU General Public License, version 2. See Qt Licensing for further details.

© 2024 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.