The trial version of QT 6 is now available and these are its news

The Qt developers have already released the first version of new branch test Qt 6, in which significant architectural changes will be proposed and will require a compiler that supports the C ++ 17 standard.

For the part of the main changes, in the first instance it is highlighted that 3D standalone abstract graphics API operating system. This is a key component of the new Qt graphics stack is a scene rendering engine that uses the RHI (Rendering Hardware Interface) layer to allow Qt Quick applications to work not only with OpenGL, but also on top of 3D APIs. Vulkan, Metal and Direct.

For Qt Quick 3D module which allows you to use QML to define 3D interface elements without using the UIP format, now a runtime can be used (QtQuick), a scene layout and an animation frame, and use Qt Design Studio for the visual development of the interface.

The solves problems such as high overhead when integrating QML with content from Qt 3D or 3D Studio, and provides the ability to synchronize individual frame-level animations and transformations between 2D and 3D.

Another important change is restructuring the code base dividing it into smaller components and reducing the size of the base product. Developer tools and specialized components will be supplied as plugins distributed through the Qt Marketplace.

In addition, I know the significant modernization of QML stands out:

  • Strong typing support.
  • Ability to compile QML into C ++ and machine code.
  • Full support transfer for JavaScript to the options category (using a full-featured JavaScript engine is resource intensive, preventing the use of QML on equipment such as microcontrollers).
  • Denial of versions in QML.
  • Unification of data structures that are duplicated in QObject and QML (It will reduce memory consumption and speed up startup).
  • Avoid generation of data structures at run time in favor of generation at compile time.
  • Hide internal components by using private properties and methods.
  • Improved integration with development tools to refactor and diagnose errors during compilation.
  • Add tools for processing graphic-related resources at compile stageFor example, to convert PNG images to compressed textures or to convert shaders and meshes to binary formats optimized for specific computers.
  • Incorporating a unified engine for themes and styles that allows you to achieve the appearance of applications based on Qt Widgets and Qt Quick, native to different mobile and desktop platforms.

In addition, as a build system, it was decided to use CMake instead of QMake. Support for building applications with QMake will be maintained, but Qt will be built using CMake.

CMake was chosen because this toolkit was widely used among C ++ project developers and is compatible with many integrated development environments. The community continues with development of the Qbs build system, which claimed to be a replacement for QMake.

Transition during development to the C ++ 17 standard (previously used C ++ 98). Qt 6 plans to implement support for many modern C ++ features, but without losing compatibility with older standards-based code.

Possibility of using in C ++ code some functionalities offered for QML and Qt Quick.

En particular, a new property system will be introduced for QObject and similar classes. A binding engine from QML will be integrated into the Qt core, reducing the load and memory consumption for binders and making them available to all parts of Qt, not just Qt Quick.

This release only includes only the initial framework of the future Qt 6 version, which is scheduled for December 1, 2020.

The functionality in the Qt 6 branch will be expanded until the code base freezes on August 31st.

Source: https://www.qt.io


Leave a Comment

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

*

*

  1. Responsible for the data: Miguel Ángel Gatón
  2. Purpose of the data: Control SPAM, comment management.
  3. Legitimation: Your consent
  4. Communication of the data: The data will not be communicated to third parties except by legal obligation.
  5. Data storage: Database hosted by Occentus Networks (EU)
  6. Rights: At any time you can limit, recover and delete your information.

  1.   Rafael said

    Wow, it already made me want to perfect my C ++