New Features in Qt 5.5
From Qt Wiki
Revision as of 12:09, 22 November 2016 by EdwardWelbourne (talk | contribs) (Add to category Release)
For non-feature updates and for important notices, please see Change-files-in-Qt-5.5.0
- Qt Bluetooth
- Bluetooth Low Energy API final release (5.4 was featuring tech preview).
- Bluetooth Low Energy Support for Android (requires Android v18+) added.
- Bluetooth Classic and Low Energy support for iOS and OS X.
- Qt Core
- You can now have Q_PROPERTY and Q_INVOKABLE within a Q_GADGET, and there is a way to query the QMetaObject of such gadget using the QMetaType system.
- Added Q_ENUM to replace Q_ENUMS which allow to get a QMetaEnum at compile time using QMetaEnum::fromType<T>. Such enums are now automatically registered as metatype, and can be converted to string within QVariant, or are printed as string by qDebug()
- Qt GUI
- Windows packages are all built with -opengl dynamic. No OpenGL-only or ANGLE-only builds are provided anymore.
- On Windows the OpenGL implementation to use can now be configured based on the GPU vendor and driver version using JSON configuration files. This allows shipping fine-grained card and driver blacklists with the apps, when necessary.
- QOpenGLWidget is now supported in iOS.
- QImage: 8-bit alpha map and grayscale formats.
- QImageReader: EXIF orientation can now be read though the transformation method, and applied on read to JPEGs if wanted.
- Qt Multimedia
- GStreamer 1.0 support. Note that the default is still 0.10. 1.0 support can be enabled by configuring Qt with '-gstreamer 1.0'.
- New video filtering framework to integrate frameworks like OpenCV or compute APIs such as OpenCL or CUDA with VideoOutput elements.
- New API to control camera viewfinder settings
- Improved camera support on iOS (focus, zoom, exposure, viewfinder/image settings)
- The QML MediaPlayer is now rendered in an OpenGL texture on iOS. This means VideoOutput supports advanced transformation, shader effects and doesn't have to be always on top of other items anymore.
- Qt NFC
- Neard based backend for Linux added.
- Qt Network
- New SSL back-end for iOS and OS X based on Secure Transport. Note that in Qt 5.6 this will become the default SSL: back-end on these platforms.
- Support for libproxy
- Support for TLS PSK ciphersuites
- Support for elliptic curve certificates
- Ability to select specific curves when using elliptic curve ciphersuites.
- Added support for the Raspberry Pi 2.
- Added support for the ODROID-XU3.
- On supported desktops, the xcb plugin now uses the D-Bus based org.kde.StatusNotifier protocol for system tray icons, and org.freedesktop.Notifications for notifications.
- KMS/DRM backend for EGLFS. This replaces the now deprecated KMS platform plugin. It allows running apps with eglfs on the console on systems with Mesa and devices that come with drm support.
- EGLFS has a plugin-based backend mechanism in addition to the existing, statically compiled-in solution. Most compiled-in hooks are converted to be dynamically loaded plugins that are built based on configure time tests. This reduces the reliance on the device makespecs for RPi, i.MX6 and Mali-based devices.
- Input handling is now unified for EGLFS and LinuxFB, avoiding the need to launch and configure LinuxFB-based apps differently than when using EGLFS.
- tslib is now better integrated with EGLFS and LinuxFB to provide support for resistive single-touch touchscreens often used in industrial environments.
- xcb is refactored to move GLX and EGL support into plugins. No more ifdefs, allowing building both backends.
- Added a TUIO Touch plugin for receiving remote touch events via UDP.
- Added a libinput plugin.
- iOS: you can now use QFileDialog to browse system photos using a native image picker dialog by setting directory to QStandardPaths::PicturesLocation. Selected photos can be loaded using QFile.
- Qt QML
- Various performance improvements, notably QJSValue
- Added convenience qJsEngine(QObject*) getter function.
- Qt Quick
- Windows now defaults to the threaded Qt Quick render loop when using desktop OpenGL (opengl32.dll).
- QQuickWidget is now supported in iOS.
- QQuickRenderControl supports threaded rendering.
- Improved behavior of Flickable on OS X trackpads using pixel deltas from native gestures.
- PinchArea handles native pinch gestures when the OS provides them (so far only on OS X). Otherwise it relies on touch events, as before.
- Added a smart zoom signal to PinchArea to react to that gesture on an OS X trackpad.
- MouseArea now has a scrollGestureEnabled property to control whether native scroll gestures from the OS will be handled by the wheel signal handler.
- Qt Quick Controls
- Qt Quick Extras (formerly Qt Quick Enterprise Controls) was added under the QtQuick.Extras import.
- TreeView control for QAbstractItemModel-derived models. Supports QItemSelectionModel selection.
- Qt WebEngine
- Updated Chromium snapshot to version 40
- WebEngineProfile for control of storage and cache paths and related policies.
- Added API for managing downloading of files
- Added API for controlling cache and cookie paths and policy
- Added API for WebEngine settings
- Added API for injecting user scripts
- Various experimental QML API has been promoted to public
- Added QtWebChannel integration API over Chromium IPC
- Qt WebView
- Added native implementations for Mac OS X.
- Added API for setting the HTML content.
- Added API for load status notifications.
- Qt 3D
- The Qt 3D module is now included as a technology preview.
- C++ and QML APIs for easy inclusion of 3D graphics into your Qt applications.
- Supports OpenGL 2, 3, 4 and OpenGL ES 2 and ES 3.
- Data-driven renderer configuration.
- Extensible beyond 3D graphics. Provides a full Entity Component System framework.
- Supported platforms: Windows (not RT), OS X, Linux xcb, Android, Embedded Linux with ES 2(QNX & iOS coming)
- Qt Canvas 3D
- Qt Location
- Tech preview of this new module
- Adds mapping, (reverse-)geocoding, routing and place features to Qt.
With Qt 5.5 the following modules are deprecated:
- Qt WebKit
- Qt Declarative (Qt Quick 1)
- Qt Script
These modules are still included in the Qt 5.5 release, but considered for removal in the future releases of Qt.
Qt 5.5 does not add support to new operating systems, but there are many changes in supported platform and compiler versions. More details what is now tested in Qt CI, please check Qt-5.5.0-tools-and-versions
More details here.