Release of Qt 6.7 framework and Qt Creator 13 development environment

The Qt Company has published a release of the Qt 6.7 framework, in which work continues to stabilize and increase the functionality of the Qt 6 branch. Qt 6.7 provides support for the platforms 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. The source code for Qt components is provided under the LGPLv3 and GPLv2 licenses.

Major changes in Qt 6.7:

  • Improved support for using code that uses elements of the C++20 standard. Added Qt::{strong,weak,partial}_ordering classes with 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 that support C++ 20 (if the compiler only supports C++17, macros fall back to using regular operators).

    It is possible to use the std::span class template to represent a contiguous sequence of objects, which is replaced by the QSpan class for systems with C++17. Work continued on implementing support for the std::chrono library in various Qt APIs. For example, timeouts in the Qt Network API are now described using std::chrono types and are specified in the form of literals such as "5s" to indicate 5 seconds.

  • The development of the experimental Qt Graphs module, designed for building various types of graphs and visualizing large collections of rapidly changing data, continued. The module is being developed as a universal replacement for the old Qt DataVisualization module, based on OpenGL, and the Qt Charts module. The new module uses Qt Quick 3D and the RHI (Rendering Hardware Interface) rendering engine, which supports various 3D APIs (OpenGL, Vulkan, Metal and Direct 3D). In addition to 3D visualization, the new version adds support for two-dimensional pie and line graphs, as well as scatterplots. Integration with animation tools and effects available in Qt Quick is provided. Added support for themes. The architecture has been modernized to reduce the number of memory allocation operations.
    Release of Qt 6.7 framework and Qt Creator 13 development environment
  • New classes QHttpHeaders, QNetworkRequestFactory, QRestAccessManager and QRestReply have been added for developing client applications that use HTTP-based APIs and REST (REpresentational State Transfer) architecture.
  • The capabilities of the Qt GRPC module have been expanded, allowing access to gRPC services. Qt gRPC has added new classes for client-side, server-side, and bidirectional streaming calls that allow messaging to be exchanged automatically when values ​​change. An Interceptor API has been proposed for attaching callback handlers for selected gRPC messages, which can be used, for example, for organizing logging or caching.
  • The Qt Protobuf module, designed to serialize Qt classes using the Protocol Buffer protocol, has added the ability to serialize to or from JSON format.
  • The Qt SVG vector graphics module has added support for SVG 1.1 and 2.0 elements, which are often used in SVG images in practice ( , , , And ), which allows most SVG files to be displayed. For those who need full support for SVG 2.0, we suggest using the Qt WebEngine module. Added svgtoqml utility to convert SVG to QML for importing vector graphics directly into the Qt Quick scene graph. The ability to use the Qt Quick Shapes module for high-quality drawing of curves using a fragment shader has been stabilized.
  • Added support for variable fonts, in which the thickness, width and other stylistic characteristics of the glyph can change arbitrarily. Added support for icon libraries. When using the QIcon::fromTheme call, it is possible to match the icon name with a symbol in the icon library.
  • It is possible to embed windows native to the current platform into the Qt Quick scene, which allows you to use interface elements provided by the platform in an interface based on Qt Quick, for example, you can embed AppKit MapView or Windows Media player.
    Release of Qt 6.7 framework and Qt Creator 13 development environment
  • Added support for adding rendering code to applications based on Qt Quick or Qt Widgets, using any graphics API supported in Qt (Vulkan, OpenGL, Direct3D, Metal). Adding is done using the QRhiQuickItem and QRhiWidget classes.
  • Full support is provided for the platforms macOS 14, iOS 17, Windows 11 23H2, Android 14, RHEL 9.2, openSUSE 15.5, SUSE Linux Enterprise Server 15. Assemblies for Windows have been added, compiled using the MinGW toolkit based on LLVM. Added preview builds for the ARM architecture (for Windows and Linux), for the VxWorks 7 platform and for QNX 7.1.
  • The Boot2Qt stack has been updated, which can be used to create bootable mobile systems with an environment based on Qt and QML. The system environment in Boot2Qt has been updated to the Yocto 4.3 platform.
  • New sample applications have been added. Lightning Viewer example using 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.
    Release of Qt 6.7 framework and Qt Creator 13 development environment

Additionally, we can note the publication of the integrated development environment Qt Creator 13.0, designed for creating cross-platform applications using the Qt library. It supports both the development of classic programs in C++ and the use of the QML language, in which JavaScript is used to define scripts, and the structure and parameters of interface elements are specified by CSS-like blocks. Ready-made assemblies have been created for Linux, Windows and MacOS.

In the new version:

  • Added offline and online installers for ARM systems with Linux.
  • The Welcome to Qt Creator interface has been updated to include support for dark and light themes.
    Release of Qt 6.7 framework and Qt Creator 13 development environment
  • Improved interface for moving panels used in debugging mode and creating widgets (Widget Designer). Added support for temporary collapsing for vertical panels. It is possible to freely move panels by their header without first undocking them.
    Release of Qt 6.7 framework and Qt Creator 13 development environment
  • Added support for creating, deploying, running and debugging applications for devices that use Qt Application Manager (for applications based on Qt 6 and CMake).
  • Added partial support for iOS 17.
  • Changed the default build directory to use the "build" subdirectory in the project code. You can change the build directory using the “Preferences > Build & Run > Default Build Properties > Default build directory” setting.
  • In project mode, a “Vanished targets” section has been added, which displays kits (links to different build tools and versions of Qt) that are no longer available, and provides the ability to create a replacement or use it when building, deploying and running another existing kit.
  • 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.
    Release of Qt 6.7 framework and Qt Creator 13 development environment

Source: opennet.ru

Add a comment