Qt 6.9: More power, improved graphics, SVG support, emojis, and more

Qt 6.9 banner

After several months of development, the launch of the new version of «Qt 6.9», a release that continues the work of stabilizing the Qt 6 series and significantly expands the capabilities of the framework for developing graphical interfaces and cross-platform applications.

The new version of Qt 6.9 It stands out for the evolution of the Qt Graphs module, Now more powerful for dynamic 2D and 3D graphics, along with with support for native emojis and SVG animations basic. The update also improves performance on hybrid CPUs, implements multisampled rendering and advanced techniques.

Main new features of Qt 6.9

One of the most notable advances in this new version of Qt 6.9 is found in the module Qt Graphs, Designed for creating both 2D and 3D graphics, it is especially useful in environments that handle large volumes of constantly changing data.

The 6.9 version Adds transparency for Surface3D in QML, a new class QSpline3DSeries to display data as smoothed curves, and improvements for customizing axes, labels, and charts. Also introduced is a simpler way to import 3D scenes with the importScene property, as well as an improved API for precisely positioning the visible graphics area.

Improved emoji support and new interface options

Qt 6.9 brings native support for emojis within text, automatically detecting their presence and using compatible color fonts such as CBDT and COLRv1. This feature can be disabled if standard text handling is preferred. To help build interfaces  where content predominates On decorative elements, the Qt.ExpandedClientAreaHint flag has been added, along with the SafeArea property in Qt Quick, which ensures that headers and menus do not interfere with the main user interface.

Qt 6.9 emojis

New SVG animations and performance improvements in QT 6.9

The Qt SVG has started supporting basic CSS animations, applicable for now to properties such as color, fill, stroke and transformation, in addition to Multiple performance improvements have been implemented. For example, on systems with hybrid CPUs, Qt can now suggest to the scheduler which core type to use for each thread. In applications that use QQuickPaintedItem with OpenGL, FramebufferObject mode is enabled by default, which benefits from hardware acceleration.

Furthermore, The RHI backend has been improved with support for multisampled rendering in OpenGL ES, and a separate thread is introduced to manage vertical synchronization (vblank) in Direct3D, reducing latency in interactive interfaces. All RHI backends except OpenGL gain support for Variable Rate Shading (VRS), which optimizes performance in VR experiences developed with Quick 3D XR.

Visual improvements and reduced CPU load

For graphical interfaces with glow or shadow effects, Qt Quick introduces the new RectangularShadow component, which reduces CPU load compared to previous implementations. The QHeaderView class has also been optimized, now consuming less memory when features such as column reordering are disabled. Furthermore, Quick 3D incorporates the Weighted Blended Rendering technique, which allows rendering transparencies without having to sort objects by depth, eliminating common visual artifacts without increasing the computational load.

New modules, security, and developer tools

Last but not least, QT 6.9 introduces the Qt Network Authorization modulen, which facilitates the implementation of authentication flows based on OAuth1 and OAuth2. As for servers, the module Qt HTTP Server now allows limiting the number of requests incoming and control the creation of threads in HTTP/2 connections, thus reinforcing its robustness under high loads.

Developers will also see improvements to the QML language server, supports the LSP Protocol, which provides a hierarchical view of the QML code structure in compatible IDEs. Qt Quick adds a new ContextMenu component, which allows you to define specific context menus for elements such as TextField and TextArea, natively integrating platform-dependent interactions such as right-click.

Finally, it's worth mentioning that this provisional version will have six months of public support, plus another six months for commercial customers. If you're interested in learning more, you can check out the details. In the following link.