
Qt 6.10 Arrives Packed with improvements for app developers and device builders, with new features ranging from accessibility and interface design to audio, graphics, and platform support. It is a version that makes everyday life easier whether you work in QML and Qt Quick or continue with C++ and Qt Widgets.
Beyond the headlines, there are changes that directly impact productivity: a flexbox-like layout system in Qt Quick, expanded vector animation (SVG and Lottie), new controls like SearchField, and much cleaner ways to connect C++ data to QML interfaces. There are also advances in Android, macOS/iOS, Windows and Linux, and a good handful of small great details in modules such as Qt Graphs, Qt Quick 3D, Qt Multimedia or Qt Core.
Accessibility and high contrast in Qt 6.10
Accessibility takes a significant leap: Qt built-in styles now respect Automatically adjusts the system's high contrast settings on desktop and mobile. This helps maintain visual consistency with the rest of the environment and comply with regulations without additional work.
The way Qt widgets and Qt Quick controls are exposed to assistive technologies (e.g., screen readers) has been revised, with a better integration with underlying platformsThe progress is especially notable in WebAssembly, and many of these improvements will also be coming to LTS branches in upcoming maintenance updates.
Qt 6.10 builds interfaces faster
Qt Quick continues to evolve to iterate faster, reduce custom code, and achieve modern, responsive UIs. 6.10 debuts a new flexbox layout, vector animation support is expanded, and a ready-to-use SearchField control appears.
Flexbox Layout for Qt Quick
FlexboxLayout is incorporated as a "tech preview", a system inspired by CSS's Flexible Box Layout that integrates with Qt Quick's layout mechanism (including attached properties for configure the behavior of each item). It is designed to compose responsive interfaces in minutes and maintain solid performance at runtime.
Qt already offered several layouts for adaptive interfaces, but with FlexboxLayout it is easier to accommodate different screen sizes/aspects and mitigate text length variations due to internationalization or typography preferences.
Animated Vector Graphics: SVG and Lottie
After several versions reinforcing the support of vector graphics (Qt Quick Scene Graph, Qt Quick Shapes and SVG improvement), in 6.10 it is added support for vector animations in both SVG and Lottie images. The Qt Lottie module extends the range of supported modern files, and thanks to VectorImage, it's possible to render Lottie as a scalable, hardware-accelerated vector.
In addition, the lottietoqml tool is incorporated to convert Lottie files into Qt Quick scenes directly in QML, complementing the flow that svgtoqml inaugurated.
New Qt Quick control: SearchField
SearchField is a specialized input field for searches, with built-in styles and native appearance on major platforms. It displays relevant suggestions in a filtered dropdown as you type, and is powered by models that you can supply via standard QML data paths.
This piece fits especially well with the improvements in data exchange between C++ code and Qt Quick UIs: the new feature in 6.10 makes easier to connect C++ models with controls like SearchField without resorting to verbose templates.
Integrate your data into QML with less friction thanks to Qt 6.10
Qt offers multiple mechanisms for coupling C++ logic with QML presentation (singletons, QAbstractItemModel, context properties, QObject objects, etc.), and tools such as QtCreator 8. Still, building a full two-way integration could require too much repetitive codeIn Qt 6.10 that barrier is lowered with new APIs and types designed for real work.
QRangeModel
QRangeModel arrives, a lightweight implementation of QAbstractItemModel for exposing C++ ranges as std::vector, std::array or any iterable container directly to views in Widgets and QML/Qt Quick views. It works with simple values ​​(e.g., int) and more complex types (Q_GADGET or std::tuple), generating appropriate roles without writing the model by hand.
If you use gadgets, QRangeModel exposes each property as a named role, so that QML delegates can link with required properties in a typed way. In practice, you eliminate the need for manual role management or the abuse of context properties, and everything fits together with compiled QML.
delegateModelAccess: direct writing from the delegate
Until now, to write to the model from a delegate you usually required the model object or used context properties. With 6.10, simply activate delegateModelAccess in ReadWrite mode so that delegates can write through required properties naturally.
The new capability works on all Qt views: Instantiator, Repeater, ListView, GridView, TableView, TreeView, MapItemView, and Repeater3D. Composing editable UIs This makes it more predictable and consistent with good QML practices.
Synchronizer: synchronization of multiple properties
Highly requested for years, the Synchronizer element debuts to ensure that several properties share the same value whenever possible, without breaking any links in either of them. Bindings used to be combined with a signal handler, and this worked best for controls implemented in C++.
With Synchronizer everything is reduced to a single element that supports n properties and both C++ and QML targets. It's available in the Qt.labs.synchronizer module and arrives as a Tech Preview.
TreeModel in QML
Exposing tree data to Qt Quick used to involve implementing QAbstractItemModel. QRangeModel simplifies this from C++, but sometimes you want declare the tree directly in QML for prototypes or small data sets. This is where the QML TreeModel type comes in.
With TreeModel you define nodes with JSON-style array and dictionary syntax, assign key-value pairs to each item, and use them in views like TreeView without writing complex infrastructure. Allows you to iterate the UI at high speed before porting the structure to C++ if you need to.
SortFilterProxyModel in QML
On the C++ side, we have been using QSortFilterProxyModel for years. Qt 6.10 brings its declarative counterpart to QML for sort and filter data with a binding-friendly API. It includes role-based sorters (like RoleSorter) and reactive function filters (which you can override) to keep lists and tables up to date.
The idea is that you can compose sorting and filtering pipelines directly in QML, with concise and expressive code, without sacrificing performance or clarity.
Keep your product modern with Qt 6.10
Systems evolve, and users expect their apps to work on the latest devices and versions. In 6.10, there are Exciting platform improvements that facilitate this continuity, as shown by Qt-derived projects such as LXQt 2.0.
Android: Current support and new tools
Qt 6.10 announces official support for Android 15 and 16, with build system tweaks and support for 16KB pages. This allows you to target current hardware without any surprises, maintaining stability and performance.
Qt Jenny 1.0 debuts, a code generator that generates JNI glue from annotated Java classes. It consists of a compiler and annotation processor, generating Qt C++ APIs based on QJniObject to access native services such as BatteryManager, PowerManager, or AudioManager. even simplifies notifications, which are often complex via JNI. It's available on Maven Central and comes with examples in Qt Creator and online documentation.
The handling of the splash screen has also been polished since Android 12, avoiding double welcome screensThe recommended approach is to use a dedicated SplashActivity, set themes with translucency, and launch the Qt Activity when Android is ready, achieving a seamless transition.
macOS and iOS 26
First minor release since macOS 26 "Tahoe" was released. The new Liquid Glass design and changes to the rendering architecture posed challenges that Qt has solved. offer full supportMany improvements will be backported to LTS branches (6.8 and 6.5) in upcoming patches.
Windows: Qt WebView with WebView2
Qt WebView incorporates a WebView2-based implementation to use Microsoft Edge as an engine. This way you can embed web content with the system's native browser and deploy on Windows without dragging Qt WebEngine, lightening the footprint.
Linux and multimedia
Qt Multimedia adds native backend for PipeWire, with improved latency and control for content processing and hardware (e.g. applications like Mixxx 2.5), in addition to thinner support in containerized environmentsAudio pitch compensation is added to maintain quality when speeding up or slowing down tracks.
Embedded hardware
On devices, Boot to Qt adopts Yocto 5.2 "Walnascar" and appears adaptations for Ezurio Nitrogen platesThe goal: to accelerate time to market on modern hardware, with updated stacks.
Other notable improvements in Qt 6.10
Qt Quick 3D now allows Bake lightmaps with ease to increase quality with high performance, and run particle effects in reverse, useful for simulating rain or snow impacting your models.
Qt Graphs adds a new filled surface, better multi-axis support, customizable 2D z-order, and the option to render a slice of a 3D graphic a printable image. A new filled surface graphic is also added to the catalog.
In Qt Widgets, create custom delegates It's easier and has more granular drag-and-drop control in item views. Layouts allow you to configure size restrictions individually.
The virtual keyboard now includes Latvian distribution, expanding language coverage. And in Qt Core, APIs have been refined for working with locales, XML documents, and continuation strings.
In Qt GUI, the QRhi backend adds enumeration of 3D adapters when using Direct3D 11/12 or Vulkan, making it easier to choose GPUs on multi-card machines.
Have been introduced performance improvements in QGrpcHttp2Channel, which benefits applications using gRPC over HTTP/2 in demanding scenarios.
More on Qt 6.10
Wayland receives session management, a key component for modern desktop integrations, and useful graphical reset notifications are added for components such as compositors (e.g., KWin).
Qt WebEngine incorporates support for Chromium extensions, a long-standing demand from users of QtWebEngine-based browsers. This opens the door for projects like Falkon to use the same extension ecosystem you already use in Chromium.
In addition to direct Lottie support in VectorImage, the tool lottietoqml simplifies Bring animations into the QML world, expanding your creative arsenal without sacrificing performance.
Qt 6.10 is an important step toward developing more accessible and modern interfaces, integrating C++ data into QML with less friction, and deploying seamlessly to the latest platforms—all while adding practical multimedia, graphics, and core features that are reflected in both performance and final product quality. If you have Qt in your stack, this update deserves a spot on your roadmap.