What’s New in Qt 6.9? Key Features and Improvements
Qt 6.9 introduces major upgrades across graphics, emoji handling, client‑area APIs, SVG animation, order‑independent transparency, performance optimizations, network authorization, HTTP server security, and developer tools, offering developers a richer, faster, and more secure cross‑platform development experience.
Qt Graphs Enhancements
Qt 6.9 improves Qt Graphs for both 3D and 2D visualisation. The new 3D surface chart supports adjustable transparency, making overlapping data layers clearly distinguishable. QSpline3DSeries enables custom 3D spline curves with flexible axis and label styling, and charts can be embedded directly in a Qt Quick 3D View3D component, simplifying the workflow. For 2D charts, the added plotArea parameter gives precise control over the drawing region, allowing more complex layouts.
Emoji Support Upgrade
Qt 6.9 fully supports the latest Unicode emoji sequences, recognizing new and combined emojis. It adopts CBDT and COLRv1 font formats for high‑resolution rendering across platforms. The new QFontDatabase API lets developers specify an emoji font family, enabling consistent styling for themed applications.
Extended Client Area and Safe Area
New APIs Qt.ExpandedClientAreaHint and SafeArea let application content extend to the window edges, including title‑bar regions, while automatically avoiding system UI elements such as taskbars and notification bars, enabling immersive full‑screen designs without interfering with OS functionality.
SVG CSS Animation Support
Qt 6.9 adds basic CSS animation capabilities to SVG. Developers can animate colour, fill, stroke, and transform properties within SVG files. These animations work in both the Qt SVG rasterisation module and the VectorImage element introduced in Qt 6.8, allowing dynamic visual effects such as fade‑in, rotation, and colour changes.
Order Independent Transparency (OIT)
Qt Quick 3D now supports OIT, eliminating the need for manual depth sorting of transparent objects. It uses a Weighted Blended technique that incurs some compute and memory cost but removes visual artifacts caused by incorrect sorting, and is already employed in Qt Graphs for semi‑transparent surfaces.
Performance Boosts
CPU Core Affinity
QThread now offers an API to set preferred CPU cores, allowing developers to bind threads to performance or efficiency cores, which can noticeably improve execution speed for latency‑critical tasks.
Graphics Rendering Optimizations
On OpenGL platforms, the FramebufferObject rendering mode is restored to leverage hardware acceleration. OpenGL ES RHI uses multisample rendering extensions for clearer UI on modern GPUs. Direct3D RHI on Windows employs a dedicated vblank thread, reducing CPU load and latency during window switching and scaling.
Shadow and Transparency Optimizations
The new RectangularShadow element expands shadow capabilities in Qt Quick. Qt Quick 3D improves shadow map boundary control and adds OIT with Weighted Blended rendering, delivering more natural shadows and correct overlapping transparent objects.
Data Handling Performance
Widgets Item Views receive optimizations for large data changes, and disabling resize/reorder dramatically lowers QHeaderView memory usage, enabling smoother, lower‑memory data‑intensive applications.
Network and Developer Experience
Qt Network Authorization Enhancements
The module now supports the Device Authorization Grant flow for input‑constrained devices, basic OpenID Connect ID token retrieval, alternative browser usage, token expiry reminders with automatic refresh, and scope‑based request handling, simplifying authentication and improving security.
Qt HTTP Server Security Upgrade
New configuration options let developers limit the maximum number of concurrent requests and HTTP/2 streams, providing protection against DoS, brute‑force, and crawler attacks.
Qt Quick Developer Tools Upgrade
The QML language server adds an Outline View that displays the structure of QML documents, aiding navigation. A new ContextMenu component simplifies adding right‑click menus, enhancing interactivity in applications such as file managers.
Upgrade Recommendations and Outlook
For new projects, adopting Qt 6.9 directly is recommended to leverage its full feature set. Existing projects can migrate gradually, paying attention to compatibility and testing. The article anticipates continued innovation in graphics rendering, AI integration, and IoT development within the Qt ecosystem.
Linux Code Review Hub
A professional Linux technology community and learning platform covering the kernel, memory management, process management, file system and I/O, performance tuning, device drivers, virtualization, and cloud computing.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
