Qt release 5.7 adds Qt 3D Module, applies C++11 features

June 17, 2016 // By Graham Prophet
The Qt Company (Helsinki, Finland) has issued Qt version 5.7, an update to its cross-platform application and user interface (UI) development framework. Qt 5.7 revises 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. Qt 5.7 follows the evolution of modern C++, making use of C++11 in Qt APIs.

The future of user interfaces, the company says, 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. Visualizing a 3D model with Qt 3D is now a matter of minutes instead of hours or days of OpenGL programming. In addition to 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. A demonstration is here.

 

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 ideal 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. Demo here.

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 together and do rapid prototyping of UIs even for embedded platforms. This can reduce the device time-to-market by removing the need for long iteration cycles between each change in user interfaces.

 

Qt is a framework for all C++ development and allows developers to harness the power of C++ with 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