What's New in Qt 6.0
Build System Changes in Qt 6
Building Qt from sources now requires CMake and Ninja. See Build System Changes in Qt 6 for more details on this and other changes in configure.
Changes to Supported Modules
Qt 6.0 is streamlined compared to Qt 5 and some modules are no longer in the default installation of Qt 6.0. Because of the modularized structure of Qt, new modules or previous Qt 5 modules may appear in future releases of Qt 6. For more information, visit the All Modules page.
The Changes to Qt Modules in Qt 6 has a list of API changes.
New Modules in Qt 6.0
The following are new modules in Qt 6.0.
- Qt 5 Core Compatibility APIs
- Qt 5 Compatibility APIs: Graphical Effects
- Qt Shader Tools - for graphics and compute shaders
Removed Modules in Qt 6.0
The following are Qt 5 modules that are not in Qt 6.0. They may be re-introduced in a future release of Qt 6.
| Module | qmake | Comments |
|---|---|---|
| Qt for Android Extras | androidextras | See Changes to Qt Extras Modules |
| Qt Bluetooth | bluetooth | |
| Qt Charts | charts | |
| Qt Data Visualization | datavisualization | |
| Qt Graphical Effects | Available through Qt 5 Compatibility APIs: Graphical Effects. See successors in Qt 6.5: MultiEffect and Qt Quick Effect Maker. | |
| Qt Location | location | |
| Qt Mac Extras | macextras | See Changes to Qt Extras Modules |
| Qt Multimedia | multimedia | |
| Qt Multimedia Widgets | multimediawidgets | |
| Qt NFC | nfc | |
| Qt Positioning | positioning | |
| Qt Purchasing | purchasing | |
| Qt Quick Extras | Merged into Qt Quick Controls | |
| Qt Remote Objects | remoteobjects | |
| Qt Script | qtscript | |
| Qt SCXML | scxml | |
| Qt Script Tools | scripttools | |
| Qt Sensors | sensors | |
| Qt Serial Bus | serialbus | |
| Qt Serial Port | serialport | |
| Qt Speech | texttospeech | |
| Qt WebChannel | webchannel | |
| Qt WebEngine | webenginecore | |
| Qt WebSockets | websockets | |
| Qt WebView | webview | |
| Qt Windows Extras | winextras | See Changes to Qt Extras Modules |
| Qt X11 Extras | x11extras | See Changes to Qt Extras Modules |
| Qt XML Patterns | xmlpatterns |
New Features in Qt 6.0
Qt QML Module
- QML Language
- Added JavaScript URL object support, providing native URL handling in QML JavaScript code.
- Allowed imports without version. If you omit the version from a QML import statement the latest version of the module is imported.
- Module System
- Added
importdirective in qmldir files. This enables optional imports and declarative module imports, allowing modules to declare their dependencies explicitly. - Added qmlRegisterModuleImport() for procedurally adding imports to a module. Don't do this unless you know what you're doing.
- Added support for specifying resource (
:/some/path) paths in the QML2_IMPORT_PATH environment variable. - QML plugins can be optional now. The
optionaldirective in qmldir files specifies that the plugin doesn't have to be loaded if the module's types are already present in the binary. This is commonly the case for modules like QtQuick or QtQml. - Introduced support for purely-redirecting QML modules that only import and re-export other modules without providing their own types.
- Added
- Type System
- Introduced override behaviors QML_LIST_PROPERTY_ASSIGN_BEHAVIOR_{APPEND|REPLACE|REPLACE_IF_NOT_DEFAULT} for QQmlListProperty, giving more control over QML operations on C++-declared list properties.
- Added support for user-defined sequence types. Custom list types can now be registered and used directly in QML using QML_SEQUENTIAL_CONTAINER, enabling type-safe list properties without needing to wrap elements in JavaScript objects.
- Introduced two-component revision format (Major, Minor) for QML type versioning, providing more granular control over API evolution.
- Allowed singletons to be extended via QML_EXTENDED.
- Allowed namespaces as extensions to types via QML_EXTENDED_NAMESPACE.
- Allowed QML types from foreign namespaces via QML_FOREIGN_NAMESPACE.
List of API Changes
These pages contain an overview of API changes in Qt 6.0:
© 2026 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.