Qt 5.9 | What's New in Qt 5.2

Qt 5.9.9 Reference Documentation

# What's New in Qt 5.2

Qt 5.2 introduces many changes for helping developers continue creating wonderful applications, easily and with less code. As well in this release, focus is placed on bug fixing and new features, while maintaining compatibility with Qt 5.1 and 5.0.

This page is a summary of new features. For specific API changes, the List of API Changes section contains links to new and obsolete classes.

## New Modules

- Qt Android Extras
- Qt Bluetooth
- Qt Mac Extras
- Qt NFC
- Qt Positioning
- Qt Windows Extras

For more information, visit the All Modules page.

## Support for New Platforms

### Android

- Full support for camera and recording
- Low-latency audio (QAudioInput, QAudioOutput)
- Command-line deployment tool
- JNI convenience API
- OpenSSL support

For more information, visit the Qt for Android page.

### iOS

- Media player support
- Basic camera support (only viewfinder and image capture)
- Low-latency audio (QAudioInput, QAudioOutput)

For more information, visit the Qt for iOS page.

## Qt Creator Updates

Qt Creator 3.0 is released along with Qt 5.2. In Qt Creator 3.0, the following were added:

- Initial iOS support
- API cleanup
- Enhanced Android support
- Initial debugging backend for the LLDB Debugger (OS X)

## Installation Updates

In 5.2, there are new reference installers for OS X:

- Android
- iOS

There is also a new target binary for Windows, OS X, and Linux:

- Qt for Android ARMv5

The installers are available from the Downloads page.

## New Features in Qt 5.2

### Qt Core Module

- Added class QCommandLineParser for command-line arguments parsing
- Added new overload to QObject::connect() to add a context object when connecting to a lambda
- Added new QStringRef methods; left, right, mid
- Added QLoggingCategory/qCDebug, qCWarning, and other macros to configure what gets logged at runtime
- Added class QTimeZone to support time zones using Olsen time zone IDs
- Added support to QDateTime for new Qt::TimeSpec of Qt::TimeZone and Qt::OffsetFromUTC
- Added new class QCollator to provide advanced platform-based collation
- Added more I/O redirection possibilities to QProcess
- Added iteration capability to containers in QVariant
- Added dereferencing to QObject for smart pointers in QVariant
- Added QFileSelector to ease the selection of files when running in a different platform

### Qt GUI Module

- Added applicationState() function and applicationStateChanged() signal to QGuiApplication
- Added QOpenGLTexture class

### Qt Widgets Module

- Added support for embedded clear button commonly used for item view filtering and side actions to QLineEdit
- Added methods based on QUrl to QFileDialog
- Added new QKeySequenceEdit class
- Restored session-management support from Qt4
- Restored basic startup-notification support on Unix
- Added placeholderText property to QTextEdit
- Added getMultiLineText static method to QInputDialog
- Added tabBarClicked and tabBarDoubleClicked signals to QTabBar

### Qt Print Support Module

- Added advanced CUPS features on Linux including server-side page range selection, odd and even page selection, pages-per-sheet, job scheduling, and banner pages.

### Qt QML Module

- Added new property to Qt.application: state
- Added ability to define QML singletons with QML files
- Added QQmlFileSelector for applying file selectors to support certain styles of cross-platform development
- Added a supported method for launching QML-only applications for the QML binary runtimes
- New V4 JS engine

### Qt Quick Module

- Added a new scenegraph renderer for improved performance
- Added texture atlas support in SceneGraph
- Added new animator types, which can run animations on the scene graph's render thread.
- Support for external drag-and-drop

### Qt Quick Controls Module

- Added support for an editable combo box
- Added support for multi-selection in TableView
- Added support for setting columns movable in TableView
- Added Switch type
- Added BusyIndicator type
- Simplified deployment

### Qt Quick Dialogs Module

- Added a new FontDialog type

### Qt Quick Layouts Module

- Added baseline support to layout

### Qt Network Module

- Added public methods to pre-TCP and pre-SSL-connect to QNetworkAccessManager
- Added API to persist and resume SSL sessions to QSslConfiguration
- Added support for allowing for debugging SSL traffic with Wireshark or tcpdump
- Add public member bearerTypeFamily() to QNetworkConfiguration

### moc New Features

- Added `-M` argument to add plugin metadata from the command line

### Accessibility New Features

- Enabled accessibility on Mac
- Made the APIs public so that it is possible to implement accessibility for custom widgets
- Basic accessibility support for Android

### WebKit New Features

- Added CSS blending
- Improved the threaded garbage collection
- Added support for LLInt on x87 (old x86 without SSE2)
- Added Improvements to standard support in HTML5 Canvas, CSS Grid, CSS Shapes, CSS filters, and other features

## List of API Changes

The pages below contain a list of API changes in Qt 5.2

- New Classes and Functions in Qt 5.2
- Obsolete Classes

## Additions to Other Qt 5 Releases

- What's New in Qt 5.4
- What's New in Qt 5.3
- What's New in Qt 5.1
- What's New in Qt 5.0