What's New in Qt 5.2?

Jeff Tranter


Jeff Tranter is a Qt Consulting Manager at ICS. Jeff oversees the architectural and high-level design of software systems for clients. Jeff’s leadership organizes global teams of developers on desktop and embedded applications.

By Jeff Tranter | Thursday, December 12, 2013

Qt 5.2.0 is now out! In this blog post, we'll look at some of the highlights of this new release.

Release Timeline

Qt 5.2 is a minor release of Qt (as opposed to a major release like Qt 6 or a patch release like 5.1.2). As such, it is binary compatible with other Qt 5 releases. The release occurred on the following timeline:

Alpha Release: 30 Sep 2013
Beta Release: 17 Oct 2013
Release Candidate: 29 Nov 2013
Final: 12 Dec 2013

New Features

An excellent wiki page lists the new features of Qt 5.2.0 in detail, so rather than duplicate the information here, I will simply refer you to it and mention some of the highlights of the release.

Significant QtCore changes include improved localization support with new QTimeZone and QCollator classes. A new QCommandLineParser class supports command-line argument parsing.

Despite rumors that the desktop is dead, new work is still being done on widgets. A number of enhancements have been made to QtWidgets, most notably improvements to the file and print dialogs.

The most significant change in QtQml is the new V4 JavaScript engine that replaces the V8 engine from Google Chrome. The new engine is optimized for QML use cases and can optionally have JIT (Just-In-Time) compilation turned off in order to comply with restrictions on the iOS and WinRT platforms. Because this is a significant change, I expect there may be some subtle incompatibilities in this release and I encourage you to test carefully any significant JavaScript code you might have.

QtQuick has a new scene graph renderer, which offers improved performance. There is a new QML animation element, Animator, which can run animations on the scene graph's render thread. Support for external drag and drop has been added.

The Qt Quick Controls continue to improve, although they still only have theming suitable for desktop platforms.

The release includes a newer upstream version of WebKit, although future work is expected to focus on a QtWebKit replacement called QtWebEngine.

Qt 5.2 also includes new modules, many of which were previously available in a similar form as either part of Qt 4 or the optional Qt Mobility module. The following modules are included: Qt Bluetooth, Qt NFC, Qt Positioning, Qt Windows Extras, Qt Mac Extras and Qt Android Extras.

With this release, the Android and iOS platforms are now considered fully supported by Qt. A new version of Qt Creator 3.0 has also been released which includes support for Android and iOS development and improved BlackBerry 10 support.

Finally, Qt Quick 1 (the version introduced in Qt 4) is now considered deprecated. It is still included for compatibility reasons, but its use is discouraged and in most cases, it is easy to port existing code to Qt Quick 2 and obtain the performance advantages of the new scene graph architecture.

Summary

This blog post has given an overview of the new features in the Qt 5.2.0 release. We hope to cover some of the significant new features in greater detail in upcoming posts.

References

  1. Qt 5.2.0 download page
  2. Wiki page for 5.2 release
  3. Wiki page covering new features in Qt 5.2
  4. Documentation
  5. Alpha release announcement
  6. Beta release announcement
  7. RC release announcement
  8. Release announcement

The Qt source code contains changes files for each module. For this release the relevant files are named changes-5.2.0.



Have a question or add to the conversation: Log in Register