After half a year of development release of the cross-platform framework . The source code of Qt components is provided under the LGPLv3 and GPLv2 licenses, while Qt developer tools such as Qt Creator and qmake, along with some modules, are offered under the GPLv3 license.
Key :
- Full support for the 'Qt for WebAssembly' module (previously experimental) is provided, allowing the compilation of Qt-based graphical applications into modules on WebAssembly, which can be run directly in a web browser. Emscripten is used for compilation. OpenGL is translated into WebGL;
- The capabilities of the Qt GUI module have been expanded, which generalizes classes related to integration with window systems, event handling, integration with OpenGL and OpenGL ES, 2D graphics, image handling, fonts, and text. A new API
QImage::convertTo for converting image formats has been added. New methods clear, reserve, and capacity have been added to the QPainterPath class; - In the Qt QML module, which provides tools for interface development using the QML language, support for enumerated types defined in C++ code has been improved. Processing of 'null' values at compile time has been optimized. The ability to generate function tables on 64-bit Windows systems has been added, allowing stack unwinding for JIT-compiled functions;
- In Qt Quick, the TableView object now allows hiding of columns and rows in tables;
- In Qt Quick Controls 2, a type has been added for horizontal or vertical arrangement of elements with a movable divider displayed between each element. A property has been added for icons to manage their caching;
- The Qt WebEngine web engine has been updated to Chromium 73 and has been enhanced with support for an integrated PDF viewer designed as an internal extension. The new release also adds local client certificate storage and support for certificates in QML. The Web Notifications API has been added. Support for determining URL request interceptors has been implemented.
- The Qt Network module has added support for Secure Channels and the ability to check certificate status using the Online Certificate Status Protocol (OCSP). For SSL support in Linux and Android, a new branch of OpenSSL 1.1 has been employed;
- The Qt Multimedia module for the VideoOutput QML type has introduced seamless playback support (without pauses between different content, managed by the flushMode property). For Windows and macOS, support for the GStreamer framework has been added. Android now supports audio roles;
- The Qt KNX module has been updated to support the eponymous standard for home automation management. An API has been added to establish secure client connections to the KNXnet server, which can be used for securely sending messages to the KNX bus and managing KNX-compatible devices;
- The experimental tag has been removed from the C++ API of the Qt OPC UA module, which provides support for the industrial communication standard OPC/UA. An experimental API for QML has been added;
- A new experimental module Qt CoAP (Constrained Application Protocol) has been added, implementing the client side of the M2M protocol used for creating networks of Internet of Things devices. Support for DTLS (Datagram TLS) over UDP has been realized;
- Corrections and improvements have been made to the set of 'Qt for Python' modules for creating graphical applications in Python using Qt5 (Python developers now have access to most of the C++ Qt API). Qt for Python is based on the PySide2 module and continues its development (essentially the first release of PySide with Qt 5 support is offered under a new name);
- A new experimental module has been added , providing an extended API for QML that allows rendering graphics and animations exported in JSON format using the Bodymovin plugin for Adobe After Effects. Thanks to QtLottie, designers can prepare animation effects in a convenient application, and developers can directly connect the exported files to QtQuick application interfaces. QtLottie includes a built-in micro-engine for executing animations, trimming, layer processing, and other effects. The engine is accessible through the QML element LottieAnimation, which can be controlled from QML code like any other QtQuick elements;
- In the Qt Wayland Compositor, a multi-threaded rendering system for embedded devices based on the Wayland protocol, support for the linux-dmabuf-unstable-v1 and wp_viewporter protocols has been provided. The platform components for Wayland have added support for the fullscreen-shell-unstable-v1 protocol;
- In the module for Android platform support, the ability to use native file dialog boxes has been added. The minimum platform version requirements have been raised to Android 5.0 (API level 21);
- Qt 3D now supports importing and exporting OpenGL texture handlers. Initial support for importing glTF 2.0 scenes has been implemented;
- The Qt Script modules have been deprecated and will be removed in one of the upcoming releases;
Qt Quick Controls 1 and Qt XmlPatterns have also been deprecated. The Qt Canvas 3D module has been removed.
Source: opennet.ru
