Qt shipped v5.14 of its eponymous C++ GUI framework yesterday, laying the groundwork for the release of v6.0 by the end of 2020.
The release of 5.14 includes some features originally slated for v6.0, and also sets things up for next year’s launch of Qt 5.15 LTS
Qt CTO, Lars Knoll, in a blog announcing yesterday’s release, said 5.14 marked the first steps in making Qt independent of OS graphics APIs. “While we so far have relied on OpenGL as the baseline graphics API, we are now starting to support a wider variety of graphics APIs. Qt 5.14 includes a first preview of a graphics-API-independent scenegraph renderer (through an abstraction layer called the Qt Rendering Hardware Interface) as an opt-in feature. This will allow Qt Quick applications to run on top of Vulkan, Metal, and Direct3D 11.
As well as allowing Qt applications to be run on top of native OS graphics APIs, this should make it easier to upgrade to Qt 6, when it arrives next year.
Other “exciting additions to Qt Quick” include a new model called Qt Quick Timeline, claimed to make it easier to animated properties via timelines and keyframes, and an event handler for the mouse wheel.
Also new is Qt Quick 3D, “a new module that we are working on to provide a high-level API for creating 3D content for user interfaces from Qt Quick.” This will enable QML to be used for 3D as well as 2D scenes via Qt Design Studio, albeit on an experimental basis for now. As for Qt Design Studio, it now hits v1.4.
The latest version also gets high-dpi support, including for “non integer scale factors commonly used on Windows.” Also added is colour space support for images, and a new QColorContants namespace to provide compile time generated QColor instances with a lot of predefined colours.
A number of modules have been included in 5.14 that are slated for deprecation in upcoming releases, including Qt Script, Qt Quick Controls 1, and Qt XmlPatterns.
Meanwhile Qt Creator hits 4.11, with experimental support for WebAssembly and Qt for MCUs. the creators also claimed improved handling of configuring, building and running projects.