Qt 6.9 improves emoji handling and boosts 3D object visualization

  • Qt 6.9 includes significant improvements in performance and compatibility.
  • Advanced support for 3D graphics, emojis, and SVG animations.
  • Improvements to transparency, secure network connections, and developer experience.
  • Wayland support and new modules available on distributions like Arch Linux.

Qt 6.9

La new version of Qt, 6.9, It is now available, bringing numerous new features designed for both application developers and those creating software for devices. This version of the popular cross-platform development framework is highlighted by a series of visual, performance, and connectivity improvements that seek to further modernize the Qt development experience.

Among the most notable improvements in this update are a better emoji management, more efficient transparency handling in 3D graphics, and new options in the Qt Graphs module for more expressive data visualizations. Additionally, optimizations for graphics hardware usage have been incorporated, along with fine-tuning of developer tools to improve productivity.

More powerful 3D visualizations with Qt Graphs

3D graphics now offer greater flexibility and realism thanks to the inclusion of transparency in Surface3D surfaces and new ways to render data with 3D spline curves. The QSpline3DSeries component enables smoother rendering, while expanding customization of axes, labels, and drawing areas. For more information on using chart enhancements, see This article about Qt 6.8 LTS.

In 2D graphics, customization of user interaction is also facilitated., and with QGraphsView, you can set a specific area to accurately render content. This allows for greater control over the layout and design of visual elements.

Qt 6.9 improves emoji support

Qt 6.9 Implements emoji sequence detection according to current Unicode specifications, displaying symbols correctly with compatible color fonts, such as CBDT and COLRv1. This means that text with emojis will look the same across platforms, with good quality and scaling.

Furthermore, Developers can decide whether they want these symbols to be analyzed or not., and manually choose the font for them using new QFontDatabase features. This option is especially useful when you want complete control over the typography used in an application.

More flexible content in windows

To adapt to modern application design trends, Qt 6.9 allows you to use the entire area of ​​the window or screen by using a new window flag (Qt.ExpandedClientAreaHint) and the SafeArea property in Qt Quick. These tools allow content to be displayed from the edge of the screen without intruding on crucial operating system elements.

This is especially useful for creating clean and immersive interfaces, especially on mobile devices or in contexts where visual space is limited.

SVG animations with CSS

This version introduces Experimental support for CSS animations in SVG files, which allows you to animate properties such as color, stroke, fill, and transformations. These animations can be integrated either via rasterization or directly into graphics with Qt Quick using the VectorImage element.

This expands creative possibilities by incorporating animated vector graphics more seamlessly into Qt applications.

Qt 6.9 improves performance and hardware utilization

Qt 6.9 benefits from modern CPU architectures with efficient and performance cores, allowing threads to use the most appropriate core type depending on the task. This optimizes the use of system resources in demanding applications.

On OpenGL platforms, the FramebufferObject rendering mode returns as an option for QQuickPaintedItem, offering hardware acceleration. Additionally, the OpenGL ES backend now leverages multisample rendering extensions where available. To learn more about the evolution of Qt, check out the article on Qt 6.0 and its significant improvements.

For Windows users, a system has been added to reduce load and latency by using a dedicated thread that synchronizes with the screen refresh, improving responsiveness in interactive interfaces.

Transparencies independent of drawing order

Qt Quick 3D now includes order-independent transparency, eliminating common visual errors when overlaying transparent objects. This is achieved through the Weighted Blending technique, which offers a good balance between computational cost and visual fidelity.

This feature is already used, for example, in Qt Graphs' semi-transparent graphs, but can be extended to any model including instantiated ones.

Modernized connectivity and network security thanks to Qt 6.9

The Qt Network Authorization module is updated with support for authorization flow on devices with limited input., such as televisions or IoT devices, using OAuth2. Mechanisms for obtaining identity tokens with OpenID Connect are also included.

Applications can now use alternative browsers for authentication, including integration with Qt WebEngine, and signals have been added to automatically manage token expiration.

In the Qt HTTP server section, defenses against potential attacks have been improved by adjusting the number of simultaneous requests using configurable parameters in QHttpServerConfiguration.

Qt Quick Developer Tools

Developers working with Qt Quick now have a schema viewer in the QML language server, showing the hierarchical structure of a document with objects, properties, and methods. This makes it easier to navigate and understand code in complex environments.

Furthermore, A new ContextMenu component has been introduced to easily add context menus, and both TextField and TextArea include one by default.

Developers on macOS can take advantage of a new Metal backend for OpenXR, allowing applications to run natively in the Meta XR Simulator environment.

New modules in Arch Linux and compatibility

The Arch Linux repositories now have 6.9.0rc1 modules in the KDE-Unstable branch, giving users early access to features like qt6-graphs, qt6-3d, qt6-charts, qt6-base, and many more. This demonstrates the interest and early adoption of Qt 6.9 in the open source software community. For a more detailed analysis of compatibility, check out Qt 6.5, which also offers relevant information.

Additionally, Qt 6.9 maintains binary and source code compatibility with previous versions of Qt 6, making it easier to adopt into existing projects.

This release of Qt marks another step in the evolution of the framework, incorporating improvements that demonstrate a clear commitment to staying at the forefront of visual technology, accessibility, and performance. Whether for desktop applications, embedded interfaces, or extended reality environments, Qt 6.9 offers new tools for creating more fluid and modern experiences.