blob: b04390d2367a3e4d84c8923372773e3f3e612760 [file] [log] [blame]
/****************************************************************************
**
** 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 webenginewidgets/minimal
\title WebEngine Widgets Minimal Example
\ingroup webengine-widgetexamples
\brief Displays a web page using \QWE Widgets.
\image minimal-example.png
\e {WebEngine Widgets Minimal Example} demonstrates how to use
\l{QWebEngineView} 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 The Code
We first define a \c commandLineUrlArgument function that returns the URL to open.
This is either the first positional argument given on the command line, or
\c https://www.qt.io as a fallback.
\quotefromfile webenginewidgets/minimal/main.cpp
\skipto #include
\printto int 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{QWebEngineProfile::cachePath} and
\l{QWebEngineProfile::persistentStoragePath}).
We also set the Qt::AA_EnableHighDpiScaling attribute. This lets the web
view automatically scale on high-dpi displays.
Next, we instantiate a QApplication and a QWebEngineView. The URL
to load is taken from \c commandLineUrlArgument and
loaded by calling \l QWebEngineView::setUrl. The view widget is
given a reasonable default size, and shown.
Finally, QApplication::exec() launches the main event loop.
\printuntil }
\section1 Requirements
The example requires a working internet connection to render
the \l{Qt Homepage}.
An optional system proxy should be picked up automatically.
However, for proxies that require a username or password,
you need to connect to
QWebEnginePage::proxyAuthenticationRequired.
\l{Qt WebEngine Widgets} uses the \l{Qt Quick Scene Graph} to compose the
page. Therefore, OpenGL support is required.
*/