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
- QCoapClient::bindInterface allows to bind the communication to a specific network interface.
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/endimplementation, such as C++20std::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
- Added new QCustomSeries class to allow users to create their own 2D graph types, such as candlestick or box-plot graphs
- Added multi-axis support to 3D graphs in the form of rowAxis, valueAxis, and columnAxis properties in QBar3DSeries, and axisX, axisY, and axisZ properties in QScatter3DSeries and QSurface3DSeries
- Added subSlicesCount, subSlicesSum, subSlicesRatio, and sliceChildren properties in QPieSlice to allow creating sub slices in pie and donut graphs
- Added visualMin and visualMax properties in QDateTimeAxis and QValueAxis to hold the visible axis ranges
- Added gradient and selectedGradient properties in QAreaSeries to allow using gradients in area graphs
- Added labelPosition property in QBarCategoryAxis to allow adjusting the label placement in bar graphs
- Added timeZone property in QDateTimeAxis to allow setting your own time zone for the axis
- Added pan and zoom properties in QDateTimeAxis to allow panning and zooming the same way as in QValueAxis
- Added color and subColor properties in QAbstractAxis to allow overriding theme colors for the axes
- Added joinStyle, lineStyle, strokeStyle, dashOffset, and dashPattern properties in QLineSeries to allow further styling in line graphs
- Added optimized property in QSplineSeries to allow using Catmull-Rom interpolation instead of the more performance-heavy and accurate default method
- Added customRowLabels and customColumnLabels properties in QBar3DSeries to allow overriding row and column labels
- Added rotationAbsolute property in QCustom3DItem to fix problems in custom item rotations
- Added rowsSanitized property in QSurface3DSeries to automatically remove rows with invalid data
- Added cutoffMargin in GraphsItem3D and Q3DGraphsWidgetItem to adjust the sensitivity of culling items near graph margins
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.iniconfiguration file for qmllint. - Introduced
overrideandvirtualkeywords which, together with the existingfinalkeyword 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
- Added DoubleSpinBox, which is similar to SpinBox but supports floating-point values.
- Added defaultButton and defaultStandardButton to DialogButtonBox. When set, the respective button will be highlighted and receive activeFocus whenever the DialogButtonBox gets focus.
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_TEXTUREsupport 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_MATRIXandPROJECTION_MATRIXexposure 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
- QWizard got a new bannerStretchPolicy property that configures how the banner should be sized within the wizard.
- QAbstractItemView got a new keyboardSearchFlags property that allows tuning how the default implementation of keyboardSearch() matches the given string against the model's data.
- QColumnView got a new previewColumnVisible property that specifies whether the preview column is visible.
- The new QStyleOptionMenuItemV2 class adds a flag that indicates whether the mouse is pressed on the item getting rendered by the style.
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.