On this page

What's New in Qt 6.11

New Modules in Qt 6.11

Qt 6.11 adds the following modules:

  • Qt Canvas Painter - Accelerated 2D painting solution for Qt Quick and QRhi-based render targets.
  • Qt OpenAPI - An extension of the upstream Open API generator that generates Qt HTTP clients, typically used for RESTful APIs.
  • Qt TaskTree - Provides a declarative way to compose and execute asynchronous task workflows.

The new modules are in Technical Preview, excluding their API from Qt's compatibility promises.

New Features in Qt 6.11

Qt CoAP Module

Qt Core Module

  • QDate is now weakly incrementable, i.e. implements pre- and post-fix increment (and decrement) operators, and can be used in a C++20 std::views::iota.
  • QJniObject APIs can now be called with std::expected (or an equivalent type) as the return type, in which case Java exceptions are not consumed by the framework and instead passed back to the caller as the unexpected result.
  • QRangeModel::ItemAccess provides a customization point for accessing role data of a multi-role item type.
  • QRangeModel can now be used with C++ ranges that don't provide a constant std::begin/end implementation, such as C++20 std::views::filter.
  • With ranges that use the same QObject subclass for multi-role items, the new QRangeModel::autoConnectPolicy can be set to Full or OnRead to connect the changed-signals of all exposed properties of QObject items to the corresponding dataChanged() signal emission.
  • QRangeModelAdapter provides a typical C++ container API to the range a QRangeModel operates on, ensuring that relevant QAbstractItemModel signals are emitted on changes, without user code having to work with QModelIndex. This new class is under technology preview.

Qt DBus Module

Qt Graphs Module

Qt GRPC Module

Qt GUI Module

  • Accessibility events of the new QAccessible::RoleChange type get emitted by the docking window framework when dock widgets change between docked and floating.
  • The new accessibility role Switch is used by the Switch type in Qt Quick Controls.
  • The new accessible attribute Orientation is used by sliders and similar controls to report their orientation to accessibility clients.
  • QRawFont got an API to get the glyphCount() and to look up the glyphName() for a glyph index of the font.
  • QTextCharFormat got new APIs to set font features and variable axes.

Qt HttpServer Module

Qt Lottie Animation

  • Added support for path fill rules.
  • Added CMAKE command qt_target_qml_from_lottie() for converting from Lottie to QML at build time.
  • lottietoqml and VectorImage backend are no longer tech preview.
  • VectorImage: Added support for animating shapes along paths.
  • VectorImage: Added support for morphing animations (interpolating between two shapes.)
  • VectorImage: Added support for matte layers.

Qt Multimedia Module

  • Added callback-based overloads for the start methods of QAudioSource and QAudioSink to allow real-time audio processing.

Qt Network Module

Qt Protobuf Module

Qt QML Module

  • Added workspace support in QML Language Server.
  • Added go to C++ definition support in QML Language Server.
  • Added support to silence context property warnings via a .contextProperties.ini configuration file for qmllint.
  • Introduced override and virtual keywords which, together with the existing final keyword and tooling support, help prevent accidental property shadowing and allow explicit property overriding in QML. See Property Shadowing and Override Semantics for details.
  • Gave the easingCurve value type a name and transformed the Easing namespace into a singleton.
  • Added APIs to QQmlContext to get the list of child contexts and to find an object by id.

Qt Quick Module

  • Added CMAKE command qt_target_qml_from_svg() for converting from SVG to QML at build time.

Qt Quick Controls Module

Qt Quick Dialogs Module

Qt Quick Effects Module

Qt Quick 3D Module

  • Added QML API for user-defined render passes, enabling custom rendering pipelines directly in QML without C++ knowledge
  • Added ssrEnabled property in ExtendedSceneEnvironment to enable screen-space reflections (SSR)
  • Added screen-space global illumination (SSGI) effect to ExtendedSceneEnvironment, providing ambient occlusion and real-time indirect lighting
  • Added per-object motion vector generation for Temporal AA and motion blur effects
  • Added layering support to allow grouping nodes and controlling which layers the camera renders
  • Added linked list order-independent transparency (OIT) rendering method
  • Added NORMAL_ROUGHNESS_TEXTURE support in post-processing effects and custom materials
  • Added blue noise sampling to PCF soft shadows for improved quality with less visible noise patterns
  • Added proper handling of pre-multiplied alpha for Qt Quick content in textures
  • Added VIEW_MATRIX and PROJECTION_MATRIX exposure to post-processing effects
  • Added pickInRect() method in QQuick3DViewport for rectangle-based object selection
  • Added closestPointPick() method in View3D to find the closest point on a surface to a given point
  • Added rayPick() overload that accepts a specific model parameter
  • Added scene shape for particle emitters that dynamically calculates shapes based on scene geometry
  • Added QQuick3DTextureProviderExtension API for simplified custom texture provider creation
  • Added scheduleRenderResults() function in QSSGFrameData to request specific render pass results
  • Updated Assimp to v6.0.2

Qt Quick 3D XR Module

  • Added OpenGL desktop Linux support (Monado, Xlib, Wayland platforms)
  • Extended processTouch() to deliver touch events to any pickable Model, not just XrItem
  • Enhanced touchpointState() to return surface position and normal vector information for 3D touch interactions
  • Added Popup and Menu support in XrItem through dedicated QQuickOverlay
  • Updated OpenXR to v1.1.49

Qt Quick 3D Physics Module

Qt Quick VectorImage Module

  • Added support for SVG masks.
  • Added support for SVG post-processing filters to match the support in Qt SVG: feGaussianBlur, feColorMatrix, feOffset, feFlood, feBlend, feComposite and feMerge.
  • Added support for animating shapes along paths.
  • Added support for the SVG <symbol> tag.

Qt Serial Port Module

Qt Serial Bus Module

Qt Sql Module

Qt SVG Module

Qt Test Module

Qt VirtualKeyboard Module

Qt WebEngine Module

Qt WebView Module

Qt Widgets Module

Qt XML Module

Qt Mqtt Module

Tools

QDoc Documentation Generator

Qt Linguist

  • Added labels as a way to categorize ID-based translations into meaningful groups without affecting the runtime behavior. See the Text ID based translations documentation and the blog post for more details.
  • C++: Added the qTrId() function for ID-based retrieving ID-based translations. The behavior is the same as the qtTrId() function, but with a more canonical name.
  • Added new i18n examples to the documentation.
  • Added AI translation for Qt Linguist for automatic translations using LLMs. See the AI translation documentation and the blog post for more details.
  • Added ltext2id executable for migrating projects from text-based translation to ID-based translation. See Using ltext2id for more details
  • Added lcheck executable for performing batch validation on TS files. See Using lcheck for more details.
  • Added support for C++ attributes in lupdate parser
  • Deprecated use of //= metastrings in lupdate parser.

Platform Changes

Build System Changes

  • Added a -generate-vcpkg-manifest configure option. This generates a vcpkg.json file in the build directory. To just generate the manifest without configuring Qt, run configure with -generate-vcpkg-manifest -dry-run.
  • When configuring with -vcpkg, generate a vcpkg manifest file in the build directory, and set VCPKG_MANIFEST_DIR to the build directory to use that manifest file. You can turn off the manifest generation with -no-generate-vcpkg-manifest. You can turn off setting the manifest directory by passing – -UVCPKG_MANIFEST_DIR to configure.

Desktop Platforms

Windows

Linux

macOS

  • Sandboxed applications can now access files outside of the application sandbox (so called security scoped resources) for both reading and writing. Files or folders chosen by the user via file dialogs or similar native mechanism are automatically and transparently handled, including persistent access across application and device restarts.
  • Added QNativeInterface::QCocoaScreen for accessing the underlying NSScreen.

Wayland Client on Linux

Mobile Platforms

Android

Qt for Android
  • Qt Jenny now supports implementing Java interfaces and extending Java classes in C++.
Qt Quick for Android

iOS

  • Added support for file icons in the platform theme.
  • Added support for QFileOpenEvent for external requests to open files.
  • Sandboxed applications can now access files outside of the application sandbox (so called security scoped resources) for both reading and writing. Files or folders chosen by the user via file dialogs or similar native mechanism are automatically and transparently handled, including persistent access across application and device restarts.
  • Added support for native save dialogs.

Embedded Platforms

Boot to Qt

Real-Time Operating Systems

List of API Changes

These pages contain an overview of API changes in Qt 6.11:

Known Issues

For information about known issues in Qt 6.11, see the Qt Wiki.

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