Qt 5.5 Alpha Available

Qt 5.5 is branched from dev and we now have the Alpha packages available. Main focus of Qt 5.5 is to polish and improve existing functionality, but as always there are also some new exciting features to talk about. With Qt 5.5, Canvas 3D is fully supported and a technology preview of long awaited Qt 3D is included. Qt 5.5 also introduces mapping support with a Qt Location technology preview. Qt 5.5 Alpha is the first step towards Qt 5.5 final release planned to be available in May.

Focus on Quality

With many of the previous Qt 5.x releases we introduced new supported platforms and many new modules. With Qt 5.5 we are mainly focusing on polishing and improving existing functionality. Many of the new features are small additions or enabling existing APIs on new platforms. Qt 5 is already a solid platform and we want to make it even better with Qt 5.5.

In addition to Qt functionality, we have been improving our QA and CI systems to be able to better support different configurations. With Qt 5.5, we will have new capabilities in CI and releasing systems enabling us to continue making Qt 5.5.x releases also after Qt 5.6 is released.

Qt 3D and Qt Canvas 3D

One of the most desired new items in Qt 5.5 is a technology preview of Qt 3D 2.0. There has been a lot of effort put into Qt 3D especially by our partner KDAB. The new Qt 3D 2.0 is now shaping up for prime time. Qt has been used throughout the years in making many well known applications leveraging 3D, but Qt 3D makes it easier than before to include and use 3D content in your Qt applications. Qt 3D provides C++ and QML APIs for easy inclusion of 3D graphics into your Qt applications and supports OpenGL 2, 3, 4 and OpenGL ES 2 and ES 3. For more details what Qt 3D 2.0 brings, you can check Qt 3D documentation and the series of blogs by KDAB.

In addition to introducing Qt 3D, Qt 5.5 also brings full support for the new Qt Canvas 3D module. With the lightweight Qt Canvas 3D, it is possible to make WebGL like 3D drawing calls from Qt Quick / JavaScript providing an easy way to use WebGL assets directly on top of Qt Quick. For many 3D needs this is a convenient approach, which allows leveraging of 3D applications developed for HTML5/WebGL.

Qt Location

Another long-awaited module that is now added to Qt 5 is a Technology Preview of Qt Location, adding mapping, geocoding, reverse geocoding, routing and place features to Qt. This makes it is easy to provide mapping functionality in your application. Qt Location supports different mapping providers with backends available for Open Street Map, Mapbox and Here Maps.

Qt Multimedia

Qt Multimedia has received GStreamer 1.0 support and some new features. One of the most interesting new features is a new video filtering framework to integrate frameworks like OpenCV or compute APIs, such as OpenCL or CUDA, with VideoOutput elements. Other additions to Qt Multimedia include, for example, a new API to control viewfinder settings and improved camera support on iOS.

Qt Quick and Qt Quick Controls

Qt 5.5 introduces a new TreeView control and provides the former Enterprise Controls (CircularGauge, DelayButton, Dial, Gauge, PieMenu, StatusIndicator, ToggleButton, Tumbler and TumblerColumn) available also for the open-source users. The former Enterprise Controls are now available via a new QtQuick.Extras import.

Support for threaded rendering using QQuickRenderControl is added. On Windows, Qt Quick rendering now defaults to the threaded Qt Quick render loop when using desktop OpenGL. OS X trackpad functionality is improved to support native pinch gestures via PinchArea, as well as supporting smart zoom.

Qt Quick Engine now supports JavaScript typed arrays and you can now conveniently expose custom C++ value types into the JavaScript environment of QML and QJSEngine. In addition, the Qt Quick Engine has received various performance improvements and optimizations.

Updated Qt WebEngine and Qt WebView

Qt WebEngine is updated to contain a new Chromium version 40 and support for new APIs. Qt WebEngine now provides APIs for managing downloading of files, support for Geolocation, controlling cache and cookies, as well as settings. In addition, many previously experimental Qt Quick APIs are now public and fully supported. Qt WebChannel has been integrated to Chromium IPC making it easier and more secure to create hybrid applications. Qt WebEngine now also provides a new User script API, which together with support for Qt WebChannel provides a powerful combination for making hybrid applications.

Qt WebView now has a native implementation also for Mac OS X (in addition to Android and iOS that were already supported). The Qt WebView has also received new APIs for status notifications, setting HTML content and running JavaScript.

Other New Functionality

Qt Bluetooth now fully supports Bluetooth Low Energy API with also Android and iOS support added in Qt 5.5. We have also introduced classic Bluetooth support on iOS.

Qt Network has received many improvements, for example a new SSL back-end for iOS and OS X based on Secure Transport, support for TLS PSK ciphersuites, and support for elliptic curve certificates. Qt NFC has received neard -based backend for Linux, and QPA has received many improvements.

For more details, please check the full list of New Features in Qt 5.5.

Supported Configurations

In order to better support Qt WebEngine and other functionality benefitting from new compilers, we have updated our CI and releasing systems with new configurations for Qt 5.5. To be able to support the new configurations, we are dropping some older ones (e.g. Ubuntu 11.10 and 12.04 dropped from CI, OS X 10.7 only supported as a secondary platform). Qt 5.5 will provide support for Windows 10 (when available) and RedHat Enterprise Linux 6.6.

For more details on new CI configurations, please check the wiki.

Deprecated Modules

Qt WebKit, Qt Declarative (Qt Quick 1) and Qt Script modules are being deprecated in Qt 5.5. Qt WebEngine is the direct replacement of Qt WebKit, Qt Quick 2 replaces Qt Quick 1 and Qt Script is replaced by the Qt QML functionality. All these modules are still included in the Qt 5.5 release, but considered for removal in the future releases of Qt.

Get Qt 5.5 Alpha

Qt 5.5 Alpha source packages are available via Qt Account and download.qt.io. Binaries will be provided in conjunction with Qt 5.5 Beta release, and binary snapshots will be available before the Beta.

Please help us in making Qt 5.5 awesome. Try out the Qt 5.5 Alpha and report issues to bugreports.qt.io.

Blog Topics: