Today, 7 months after the previous major release, version 5.8 of the Qt cross-platform framework has been released.
Qt allows you to develop applications using C ++ and the declarative programming language QML, supports all major desktop and mobile platforms, as well as some embedded and has open source code. There is a commercial version of Qt containing additional proprietary modules.
This release introduces a new configuration system that allows you to include in the assembly only the necessary functionality (Qt Lite), stabilization of some experimental modules, as well as new experimental modules and the removal of obsolete ones.
The new version has the ability to fine-tune the Qt build to include only the necessary functionality. For this, the configuration system has been significantly reworked. An example of using Qt Lite for a small QML application:
Significant changes were made to the QML engine:
Added support for caching the binary representation of QML and JavaScript files, which allows to reduce the launch time and memory consumption of the engine. The commercial Qt Quick Compiler module continues to be supported in Qt 5.8 and is planned to be merged with the new caching subsystem in the future.
The Qt Quick Scene Graph subsystem has been redesigned to reduce dependence on OpenGL. This made it possible to add experimental back-up support based on Direct3D 12, and also in the future to add support for other backends, such as Vulkan.
Integrated backend for software rendering (Qt Quick 2D Renderer), which previously supplied a separate module. It also added support for partial screen updates, if only a small part of the scene has changed.
We cleaned the event handling code from the mouse and touchpad and merged them into a new internal QQuickPointerEvent class, as a basis for future improvements.
In Qt Quick Controls 2, hover effects and support in the Material and Universal styles have been added to the "system" theme, which automatically selects a dark or light theme, depending on the system settings. Added support for hover-effects in the Material and Universal styles, as well as ripple-effects in the Material style. The following components have been added: Dialog, DialogButtonBox, MenuSeparator, RoundButton and ToolSeparator.
Qt Serialbus module is adopted as part of Qt, which allows to work with CAN and Modbus buses.
A preliminary version of the Qt Speech speech synthesis module has been added. On macOS, Android and Windows, the native backend is used, on Linux - Speech Dispatcher (libspeechd).
Qt Network and Qt WebSockets support TLS PSK encryption. Also, Qt Network has added support for configurable Diffie-Hellman parameters and HTTP / 2 support in QNetworkAccessManager.
The Chromium engine in Qt WebEngine has been updated to version 53 and has received support for printing web pages. A new QML API has been added for creating custom dialogs, tooltips and context menus. Added support for spell checking with Hunspell. Also support for view-source: and some chrome: schemes has been added. The Windows version now requires MSVC 2015 Update 2 or later.
The ability to create candlestick charts has been added to Qt Charts.
Qt Bluetooth adds test support for the BLE peripheral role for macOS and iOS and the central role for WinRT.
The Qt Quick 2D Renderer module has been integrated into Qt Quick and is no longer supplied as a separate module.
For the Android platform, text selection markers have been added to the edit menu for copy / paste.
The preliminary version of support for tvOS and watchOS platforms from Apple.
Added support for pre-compiled headers for iOS.
For iOS, tvOS and watchOS, the same library is now used for the simulator and for the device.
Source: https://habr.com/ru/post/320284/
All Articles