Displays a web page using Qt WebEngine Widgets.
WebEngine Widgets Minimal Example demonstrates how to use 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.
To run the example from Qt Creator, open the Welcome mode and select the example from Examples. For more information, visit Building and Running an Example.
We first define a commandLineUrlArgument
function that returns the URL to open. This is either the first positional argument given on the command line, or https://www.qt.io
as a fallback.
#include <QApplication> #include <QWebEngineView> QUrl commandLineUrlArgument() { const QStringList args = QCoreApplication::arguments(); for (const QString &arg : args.mid(1)) { if (!arg.startsWith(QLatin1Char('-'))) return QUrl::fromUserInput(arg); } return QUrl(QStringLiteral("https://www.qt.io")); }
In the main
function we first set the QCoreApplication::organizationName property. This affects the locations where Qt WebEngine stores persistent
and cached data (see also QWebEngineProfile::cachePath and QWebEngineProfile::persistentStoragePath).
Next, we instantiate a QApplication and a QWebEngineView. The URL to load is taken from commandLineUrlArgument
and loaded by calling
QWebEngineView::setUrl. The view widget is given a reasonable default size, and shown. Finally, QApplication::exec() launches the main
event loop.
int main(int argc, char *argv[]) { QCoreApplication::setOrganizationName("QtExamples"); QApplication app(argc, argv); QWebEngineView view; view.setUrl(commandLineUrlArgument()); view.resize(1024, 750); view.show(); return app.exec(); }
The example requires a working internet connection to render the 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.
Qt WebEngine Widgets uses the Qt Quick Scene Graph to compose the page. Therefore, OpenGL support is required.
As part of the free Business evaluation, we offer a free welcome call for companies, to talk about your requirements, and how the Felgo SDK & Services can help you. Just sign up and schedule your call.
Sign up now to start your free Business evaluation: