New Features in Qt 5.5: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
No edit summary
mNo edit summary
Line 2: Line 2:
[[Category:Developing_with_Qt::Qt 5]]
[[Category:Developing_with_Qt::Qt 5]]


= What is new in Qt 5.5 =
= What is New in Qt 5.5 =


== New Features ==
== New Features ==

Revision as of 11:33, 10 March 2015


What is New in Qt 5.5

New Features

  • 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.
    • QImage: 8-bit alpha map and grayscale formats.
  • 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
    • Support for libproxy
    • Support for TLS PSK ciphersuites
    • Support for elliptic curve certificates
    • Ability to select specific curves when using elliptic curve ciphersuites.
  • QPA
    • Added support for the Raspberry Pi 2.
    • 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
    • It is now possible to conveniently expose custom C++ value types into the JavaScript environment of QML and QJSEngine.
    • Support for JavaScript typed arrays
    • 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).
    • 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
    • WebEngineProfile for control of storage and cache paths and related policies.
    • Added support for javascript Geolocation API with QtLocation as a backend
    • Added API for managing downloading of files
    • Added API for controlling cache and cookie paths and policy
    • Added API for WebEngine settings
    • Various experimental QML API has been promoted to public
    • Added QtWebChannel integration API over Chromium IPC
    • Updated Chromium snapshot to version 40
  • Qt WebView
    • Added native implementations for Mac OS X.
    • Added API for running JavaScript (Requires API 19+ on Android).
    • Added API for setting the HTML content.
    • Added API for load status notifications.

New Modules

  • 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
    • Added Qt Canvas 3D module, a JavaScript 3D rendering API for Qt Quick.
  • Qt Location
    • Tech preview of this new module
    • Adds mapping, (reverse-)geocoding, routing and place features to Qt.

Deprecated Functionality

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.

New Configurations

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 https://wiki.qt.io/index.php?title=Qt-5.5.0-tools-and-versions