/****************************************************************************
|
**
|
** 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.
|
*/
|