| /**************************************************************************** |
| ** |
| ** Copyright (C) 2016 The Qt Company Ltd. |
| ** Contact: https://www.qt.io/licensing/ |
| ** |
| ** This file is part of the documentation of the Qt Toolkit. |
| ** |
| ** $QT_BEGIN_LICENSE:FDL$ |
| ** Commercial License Usage |
| ** Licensees holding valid commercial Qt licenses may use this file in |
| ** accordance with the commercial license agreement provided with the |
| ** Software or, alternatively, in accordance with the terms contained in |
| ** a written agreement between you and The Qt Company. For licensing terms |
| ** and conditions see https://www.qt.io/terms-conditions. For further |
| ** information use the contact form at https://www.qt.io/contact-us. |
| ** |
| ** GNU Free Documentation License Usage |
| ** Alternatively, this file may be used under the terms of the GNU Free |
| ** Documentation License version 1.3 as published by the Free Software |
| ** Foundation and appearing in the file included in the packaging of |
| ** this file. Please review the following information to ensure |
| ** the GNU Free Documentation License version 1.3 requirements |
| ** will be met: https://www.gnu.org/licenses/fdl-1.3.html. |
| ** $QT_END_LICENSE$ |
| ** |
| ****************************************************************************/ |
| |
| /*! |
| \example webengine/minimal |
| \title WebEngine Qt Quick Minimal Example |
| \ingroup webengine-examples |
| \brief Displays a web page using the Qt Quick integration of \QWE. |
| |
| \image minimal-example.png |
| |
| \e {WebEngine Qt Quick Minimal Example} demonstrates how to use the |
| \l{WebEngineView} item to render a web page. It shows the minimum amount of |
| code needed to load and display an HTML page, and can be used as a basis for |
| further experimentation. |
| |
| \include examples-run.qdocinc |
| |
| \section1 C++ Code |
| |
| In \c main.cpp we use only the QGuiApplication and QQmlApplicationEngine |
| classes. We also include \c qtwebengineglobal.h to be able to use |
| \l{QtWebEngine::initialize}. |
| |
| \quotefromfile webengine/minimal/main.cpp |
| \skipto #include |
| \printto main |
| |
| In the \c main function we first set the |
| \l{QCoreApplication::organizationName} property. This affects the locations |
| where \QWE stores persistent and cached data (see also |
| \l{WebEngineProfile::cachePath} and |
| \l{WebEngineProfile::persistentStoragePath}). |
| |
| We also set the Qt::AA_EnableHighDpiScaling attribute. This lets the web |
| view automatically scale on high-dpi displays. Then we instantiate a |
| QGuiApplication object. |
| |
| Next, we call \l{QtWebEngine::initialize}, which makes sure that OpenGL |
| contexts can be shared between the main process and the dedicated renderer |
| process (\c QtWebEngineProcess). This method needs to be called before |
| any OpenGL context is created. |
| |
| Then we create a QQmlApplicationEngine, and tell it to load \c main.qml |
| from the \l{The Qt Resource System}{Qt Resource System}. |
| |
| Finally, QGuiApplication::exec() launches the main event loop. |
| |
| \printuntil } |
| |
| \section1 QML Code |
| |
| In \c main.qml we create the top level window, set a sensible default size |
| and make it visible. The window will be filled by a WebEngineView item |
| loading the \l{Qt Homepage}. |
| |
| \quotefromfile webengine/minimal/main.qml |
| \skipto import |
| \printuntil } |
| \printline } |
| |
| \section1 Requirements |
| |
| The example requires a working internet connection to render the |
| \l{Qt Homepage}. |
| An optional system proxy should be picked up automatically. |
| */ |