Qt WebEngine Widgets

Qt WebEngine Widgets provides a Web browser engine that makes it easy to embed content from the World Wide Web into your Qt application.

Qt WebEngine Widgets provides facilities for rendering of HyperText Markup Language version 5 (HTML5), Extensible HyperText Markup Language (XHTML) and Scalable Vector Graphics (SVG) documents, styled using Cascading Style Sheets (CSS) and scripted with JavaScript.

In addition to providing pure rendering features, HTML documents can be made fully editable to the user through the use of the contenteditable attribute on HTML elements.

Qt WebEngine is based on the Chromium project. More information about Chromium itself can be found on the Chromium Project Web site.

Should I use Qt WebEngine or Qt WebKit?

Qt WebEngine supercedes the Qt WebKit module, which was based on the WebKit project, but isn't actively synchronized with the upstream WebKit code since Qt 5.2.

Chromium provides its own network and painting engines and is developed tightly together with its dependent modules, thus Qt WebEngine provides better and more reliable support for the latest HTML5 specification. For this reason Qt WebEngine is however heavier than Qt WebKit and doesn't give direct access to the network stack and the HTML document through C++ APIs.

For new code we suggest using Qt WebEngine, but it makes sense to continue using Qt WebKit for applications that are in need of a deeper C++ API than having better and up-to-date support for HTML, CSS and JavaScript features.

For tips on how to change a Qt WebKit application to use Qt WebEngine, see Porting from Qt WebKit to Qt WebEngine

Including In Your Project

To include the definitions of the module's classes, use the following directive:

#include <QtWebEngineWidgets>

To link against the module, add this line to your qmake .pro file:

QT += webenginewidgets

Architecture

The easiest way to render content is through the QWebEngineView class. As a widget it can be embedded into your forms and it provides convenience functions for downloading and rendering web sites.

    QWebEngineView *view = new QWebEngineView(parent);
    view->load(QUrl("http://qt-project.org/"));
    view->show();

QWebEngineView is used to view Web pages. An instance of QWebEngineView has one QWebEnginePage. QWebEnginePage provides access to the page's navigation history, allows to run JavaScript code in the context of the page's main frame and enables customization of handlers for specific events such as showing custom authentication dialogs.

Reference Documentation

Examples

License Information

This is a snapshot of the integration of Chromium into Qt.

Qt Commercial Edition licensees that wish to distribute applications that use the Qt WebEngine module need to be aware of their obligations under the GNU Library General Public License (LGPLv2).

Developers using the Open Source Edition can choose to redistribute the module under the GNU LGPLv3.

Chromium is licensed under the following license:

Copyright (c) 2013 The Chromium Authors. All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of Google Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

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