release of Qt 6.7 and Qt Creator 13. What's new and what's changed?

This month there are many releases, good and different. So, the other day the Qt Company published release of the Qt 6.7 framework. The developers adhere to the same strategy both to stabilize the work and to increase the functions of the Qt 6 branch. Many platforms are supported, including Windows 10+, macOS 12+, Linux (Ubuntu 22.04, openSUSE 15.5, SUSE 15 SP5, RHEL 8.8/9.2, Debian 11.6 ), iOS 16+, Android 8+ (API 23+), webOS, WebAssembly, INTEGRITY, VxWorks, FreeRTOS and QNX. Details are under the cut.

Main changes and additions:

  • One of the most interesting innovations related to the Qt Graphs module. It is experimental and designed for creating different graphs, as well as visualizing large collections of rapidly changing data. The module is being developed as a universal replacement for its “ancestor” – Qt DataVisualization, based on OpenGL, and the Qt Charts module.

  • As for the new product, it uses Qt Quick 3D and the RHI (Rendering Hardware Interface) rendering engine. The latter supports various 3D APIs (OpenGL, Vulkan, Metal and Direct 3D). The new version adds support for 2D pie and line graphs plus scatterplots. Plus, integration is provided with all the tools and animation effects that are available in Qt Quick.

  • New classes QHttpHeaders, QNetworkRequestFactory, QRestAccessManager and QRestReply have also appeared; they are needed for developing client applications. But not all, but those that use an API based on HTTP and REST (REpresentational State Transfer) architecture.

  • The Qt SVG vector graphics module now supports SVG 1.1 and 2.0 elements often used in SVG images in practice (, , , and ). This makes it possible to display the vast majority of SVG files. Also added is the svgtoqml utility for converting SVG to QML for importing vector graphics directly into the Qt Quick scene graph.

  • Another important update concerns working with code that uses elements of the C++20 standard. The Qt::{strong,weak,partial}_ordering classes have been added here with the implementation of std::*_ordering types compatible with the C++17 specification, as well as macros that expand into the three-way comparison operator “<=>” when compiled by compilers, supporting C++20 (if the compiler only supports C++17). Additionally, you can now use the std::span class template to represent a contiguous sequence of objects, which is replaced by the Qspan class for C++17 systems. The developers are also pursuing a strategy of expanding support for the std::chrono library in various Qt APIs.

  • The capabilities of such an important module as Qt GRPC, which makes it possible to access gRPC services, have been significantly increased. New classes have been added to it, and for different stream calls, including client, server and bidirectional stream calls. They make it possible to provide messaging with automatic activation when values ​​change.

  • Also in the Qt Protobuf module, which is designed to perform serialization of Qt classes, it now becomes possible to serialize to or from the JSON format.

  • It’s also possible to embed native windows into a Qt Quick scene. This makes it possible for a Qt Quick-based interface to use interface elements provided by the platform – for example, you can embed AppKit MapView or Windows Media player.

  • Support for the platforms macOS 14, iOS 17, Windows 11 23H2, Android 14, RHEL 9.2, openSUSE 15.5, SUSE Linux Enterprise Server 15, which is extremely important for many, has been provided. Assemblies for Windows have been added. Moreover, preliminary builds for the ARM architecture, for the VxWorks 7 platform and for QNX 7.1 have been added.

  • New examples have been added for applications. So, this is a Lightning Viewer that uses Qt Location and Qt Quick Controls to visualize thunderstorm data on a map. New OSM Buildings demo using Qt Quick 3D, Qt Positioning and Qt Network to create a 3D building map based on information from OpenStreetMap. The Virtual Assistant example demonstrates the capabilities of working with 3D animation. The Volumetric rendering example shows how to use 3D textures in Qt Quick 3D for volumetric ray tracing. The StocQt example has been completely redesigned, using Qt Graphs to display stock market data.

  • The changes also affected the interface for moving panels. It is used in debugging and widget creation mode (Widget Designer).

It is impossible not to note the emergence of an integrated development environment Qt Creator 13.0, designed for creating cross-platform applications using the Qt library. Thus, it now supports both C++ and QML, which uses JavaScript to define scripts.

  • It is possible to create kits for projects in the Python language (to select a different version of the interpreter).

  • Added the ability to use LSP (Language Server Protocol) servers for YAML, JSON and Bash.

  • The code editor provides support for navigating from QML components to their associated C++ code.

  • ClangFormat settings have been reorganized. A text editor with syntax checking is provided to change your own settings.

  • Finally, there is partial support for version 17 of iOS.

  • Integrated ability to create, deploy, run and debug applications for devices that use Qt Application Manager (for applications based on Qt 6 and CMake).

It is worth noting that the source code of Qt components is supplied under the LGPLv3 and GPLv2 licenses.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *