The Qt Company announces the latest version of its cross-platform application and UI development framework, Qt 5.7. Now available for download, Qt 5.7 features pioneering UI creation, including a new Qt 3D module, as well as new ways to create modern touch-based UIs with Qt Quick Controls 2 and Qt Quick Designer. This latest version follows the evolution of modern C++, leveraging C++11 in Qt APIs.
Ground-breaking UI creation with the Qt 3D module
The future of user interfaces is moving towards heavier integration of 3D graphics. 3D integration of Qt has always been possible with direct OpenGL programming but with Qt 5.7 and the new Qt 3D module it is now easy to create 3D UIs and interact with 3D objects using high-level Qt C++ and QML APIs. Visualising a 3D model with Qt 3D is now a matter of minutes instead of hours or days of OpenGL programming. In addition to just 3D rendering, Qt 3D is a fully extensible 3D framework for near-realtime simulations e.g. physics engine, artificial intelligence, collision detection. Qt 3D has been developed together with KDAB, a Qt Service Partner and the biggest external contributor to Qt.
Build modern touch-based UIs with Qt Quick Controls 2 and Qt Quick Designer
Qt 5.7 also introduces Qt Quick Controls 2, a new library of UI controls (buttons, sliders, dials, etc). It has been built from the ground up with performance and memory consumption in mind making them suited for creating modern touch-based user interfaces for embedded and mobile devices. They come with a flexible styling system that allows developers to create custom styles for their user interfaces. In addition, they also come with three predefined styles that let users immediately achieve a desired look-and-feel for instance on Android devices.
Together with the Qt Quick Designer visual UI layout tool, the Qt Quick Controls 2 provide a seamless developer-designer workflow. With the workflow, designers and developers can work easily together and do rapid prototyping of UIs even for embedded platforms. This can dramatically reduce the device time-to-market by removing the need for long iteration cycles between each change in user interfaces.
Modern C++11 in Qt APIs
Qt is the framework for all C++ development and allows developers to harness the power of C++ with the convenience of high-level Qt libraries. As C++ is moving forward with the C++11, C++14 and upcoming C++17 standards, Qt is following the progress closely. It has been possible to use modern C++ already with Qt but with the latest release, Qt 5.7 also leverages C++11 directly within the Qt libraries. This allows Qt developers to better harness the modern C++ features but also improves the quality and performance of the Qt libraries.
With the improvements, Qt 5.7 requires compilers to support C++11 and no longer supports the older C++98 compilers. However, as the previous version Qt 5.6 is a Long-Term Supported release, it offers a valid, parallel product offering for the platforms with legacy compilers.
Facilitating the embedded device workflow even further
In addition to an improved user interface offering, Qt 5.7 also provides additional solutions for embedded device creation. With Qt 5.7 for Device Creation, it’s now possible to use Microsoft Windows for embedded Linux development allowing Windows users to directly develop, deploy, debug and analyse their applications on real embedded hardware.
For Device Creation, Qt 5.7 comes with technology previews of multi-process support for embedded UIs through Qt Wayland Compositor, and OTA update technology for device vendors to update their software stacks online - a feature extremely important for connected IoT systems.
In addition to embedded Linux, Qt 5.7 for device creation continues to fully support QNX with pre-built binaries for the convenience of developers.
First release with updated licensing offering
In January, The Qt Company announced changes to the open source licensing and product structure of the Qt cross-platform application development framework that are now applied with the release of 5.7. New versions of Qt will be licensed under a commercial license, GPLv2, GPLv3, and LGPLv3, but no longer under LGPLv2.1. The updated open source licenses will further ensure end user freedom when using open source licensed versions of Qt. For instance, LGPLv3 explicitly forbids the distribution of closed consumer devices. Commercial Qt licensing removes these requirements and includes professional technical support from The Qt Company. Also, a new ‘start-up’ license has also been announced that will help support small businesses who are seeking to utilise Qt in commercial desktop and mobile applications.