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.