Qt Quick Widgets

The Qt Quick Widgets module is a convenience wrapper for QQuickWindow. It will automatically load and display a QML scene when given the URL of the main qml file. Alternatively, you can instantiate QML objects using QQmlComponent and place them in a manually set-up QQuickWidget.

Typical usage:

QQuickWidget *view = new QQuickWidget;
view->setSource(QUrl::fromLocalFile("myqmlfile.qml"));
view->show();

QQuickWidget also manages resizing the view and the root item. By default, the resizeMode is set to SizeViewToRootObject, which will load the component and resize it to fit the view. Alternatively, you can set resizeMode to SizeViewToRootObject, which will resize the view to the root item.

Using the Module

Using a Qt module requires linking against the module library, either directly or through other dependencies. Several build tools have dedicated support for this, including CMake and qmake.

Building with CMake

Use the find_package() command to locate the needed module component in the Qt6 package:

find_package(Qt6 REQUIRED COMPONENTS QuickWidgets)
target_link_libraries(mytarget PRIVATE Qt6::QuickWidgets)

For more details, see the Build with CMake overview.

Building with qmake quickwidgets

To configure the module for building with qmake, add the module as a value of the QT variable in the project's .pro file:

QT += quickwidgets

Reference

Licenses and Attributions

Qt Quick Widget is available under commercial licenses from The Qt Company. In addition, it is available under free software licenses. Since Qt 5.4, these free software licenses are GNU Lesser General Public License, version 3, or the GNU General Public License, version 2. See Qt Licensing for more details.

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