What's New in Qt 5.4 | Qt 5.4

- Qt 5.4
- What's New in Qt 5.4
- Qt 5.4.2 Reference Documentation

# What's New in Qt 5.4

The focus for Qt 5.4 is mainly about improving the stability, performance, and first-time user experience of the product.

## New Modules

- Qt WebChannel
- Qt WebEngine
- Qt WebEngine Widgets
- Qt Platform Headers

## New Supported Platforms

- WinRT now a supported platform
- Windows Phone 8.1 minimum supported version

## New Features in Qt 5.4

### Qt GUI Module

- QOpenGLContext is now able to adopt existing native contexts (EGL, GLX, and so on). This allows interoperability among Qt and other frameworks, such as game engines.
- OpenGL ES 3.0/3.1 support is improved. The header file for the highest usable ES version (gl31.h, gl3.h or gl2.h) is now automatically included by Qt's headers in -opengl es2 builds. Vertex array objects, framebuffer blits and multisampling are now supported via the standard GLES3 functions, where applicable.
- Selecting the dynamic OpenGL implementation on application startup is now available on Windows when configured with _-opengl dynamic_. This allows using either opengl32.dll or ANGLE's OpenGL ES 2.0 implementation in Qt and applications without the need for two separate builds of the binaries.
- QOpenGLWidget: The modern replacement for QGLWidget and the counterpart of QQuickWidget.
- QOpenGLWindow: Convenience class for performing OpenGL drawing onto a QWindow.
- QRasterWindow: Covenience class for performing software-based drawing via QPainter onto a QWindow.
- Support for 10-bit per color channels images. These can be rendered to and from, though internally the raster engine will still use 8-bit per color channel. If used as the internal format of a QOpenGLFramebufferObject, the OpenGL paint engine is able to render in full precision if supported by the OpenGL driver.
- WinRT: Added support for native file dialogs.

### Qt Core Module

- WinRT: Added support for native settings container (local and roaming).
- QStorageInfo: Class for providing information about currently mounted storage volumes and drives.
- QByteArrayList: Convenience class adding similar extra methods on top of QList<QByteArray> as QStringList does to QList<QString>.
- QTabletEvent: several improvements to the input information: added information about the stylus buttons being pressed, the rotation and tangential pressures now have consistent ranges across platforms, the proximity events now include the type of stylus or other tool in use, and manual tests and debug output are improved for better verification of functionality.

### Qt Widgets Module

- Improved scaling of widget styles based on DPI.

### Qt Quick Module

- QQuickRenderControl is made public. This API allows efficient rendering of Qt Quick 2 scenes into framebuffer objects. The contents can then be used in arbitrary ways in Qt-based or 3rd party OpenGL renderers.
- Introduced overlay and pull back headers and footers for ListView.
- Added QQuickFontMetrics, which provides a subset of QFontMetricsF's API.
- Added QQuickTextMetrics, which provides a declarative API for the QFontMetricsF function arguments.
- QQuickWidget is now supported on Android.

### Qt Quick Controls Module

- Native Android style support on Android v3.0 or later.

### Qt Bluetooth Module

- Support for Bluez5.
- Tech Preview of Bluetooth Low Energy (client side support only, on Bluez 4 & 5).

### QPA Plugins

- The Wayland platform plugin is now part of the release.
- XCB will now support screen with a depth of 30 (10 bit per color channel).
- More font settings are parsed by fontconfig and GTK platform backends.
- More categorized logging is in use so that you can enable it in the standard ways (qtlogging.ini etc.) instead of needing to set obscure environment variables or uncomment #defines. The log also provides more complete information, especially about events.
- Support for integer device pixel ratios larger than one has been added to the XCB plugin. The ratio is controlled by the environment variable `QT_DEVICE_PIXEL_RATIO`.

### Qt WebKit Module

- Added support for OpenGL accelerated 2D canvas to Qt WebKit Widgets.
- The Qt WebKit module is considered done. It will be replaced by Qt WebEngine. This applies to the widgets as well as to the QML API of Qt WebKit.

### Qt Windows Extras Module

- Multiple thumbnail images when hovering over an application's taskbar.

### Qt Sensors Module

- Windows Phone: Added compass and ambient light sensors.

### Qt SQL Module

- Windows Phone: Added support for sqlite.

## Deprecated Features

### Qt OpenGL Module

- The Qt OpenGL module (which contain classes that start with QGL) is now deprecated in favor of the Qt GUI module (which contains classes that start with QOpenGL). QGLWidget can now be replaced by QOpenGLWidget.

## List of API Changes

The pages below contain a list of API changes in Qt 5.4:

- New Classes and Functions in Qt 5.4
- Obsolete Classes

## Additions to Other Qt 5 Releases

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