Qt 5.5 的新功能

新模块

  • Qt 3D
    • Included as a technology preview.
    • C++ and QML APIs for easy inclusion of 3D graphics into Qt applications.
    • Supports OpenGL versions 2, 3 and 4, and OpenGL ES versions 2 and 3.
    • Data-driven renderer configuration.
    • Extensible beyond 3D graphics. Provides a full Entity Component System framework.
    • 支持平台:
      • Windows (not RT)
      • OS X
      • Linux/xcb
      • Android
      • Embedded Linux with ES 2
      • (Support for QNX and iOS planned)
  • Qt Location
    • Included as a technology preview.
    • Adds mapping, (reverse-)geocoding, routing and place features to Qt.

Qt 5.5 中的新特征

Qt Bluetooth 模块

Qt Core 模块

Qt GUI 模块

  • All Windows packages are now 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 versions using JSON configuration files. This allows shipping fine-grained card and driver blacklists with the applications when necessary.
  • QImage : Added 8-bit alpha map and grayscale formats.

Qt Multimedia 模块

  • Added GStreamer 1.0 support. Note that the default is still 0.10. Version 1.0 support can be enabled by configuring Qt with -gstreamer 1.0 .
  • Added a new video filtering framework to integrate frameworks like OpenCV or compute APIs such as OpenCL or CUDA with VideoOutput 元素。
  • Added a new API to control camera viewfinder settings.
  • Improved camera support on iOS (focus, zoom, exposure, image and viewfinder settings).
  • The QML MediaPlayer is now rendered in an OpenGL texture on iOS. This means VideoOutput supports advanced transformation and shader effects, and doesn't have to be always on top of other items anymore.

Qt NFC 模块

  • Ported to Linux using Neard v0.14 or later.

Qt Network 模块

  • Added a new SSL backend for iOS and OS X, based on Secure Transport.
  • 添加支持 libproxy .
  • Added support for TLS PSK ciphersuites.
  • Added support for elliptic curve certificates.
  • Added ability to select specific curves when using elliptic curve ciphersuites.

QPA (Qt 平台抽象)

  • Added support for 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.
  • Added a KMS/DRM backend for EGLFS. This replaces the now deprecated KMS platform plugin. It allows running applications with eglfs on the console on systems with Mesa and devices that come with DRM support.
  • Added a plugin-based backend mechanism for EGLFS, 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 Raspberry Pi, i.MX6 and Mali-based devices.
  • Input handling is now unified for EGLFS and LinuxFB , avoiding the need to launch and configure LinuxFB -based applications differently compared 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.
  • Added a TUIO Touch plugin for receiving remote touch events via UDP.
  • 添加 libinput 插件。
  • iOS: Added support into QFileDialog for browsing system photos using a native image picker dialog. Selected photos can be loaded using QFile .

Qt QML 模块

  • Added a possibility to conveniently expose custom C++ value types into the JavaScript environment of QML and QJSEngine .
  • Added support for JavaScript typed arrays.
  • Various performance improvements, notably QJSValue .
  • Added a convenience qJsEngine( QObject *) getter function.

Qt Quick 模块

  • Windows now defaults to the threaded Qt Quick render loop when using desktop OpenGL ( opengl32.dll ).
  • Added support for threaded rendering in QQuickRenderControl .
  • Improved behavior of Flickable on OS X trackpads using pixel deltas from native gestures.
  • 添加支持 PinchArea to handle native pinch gestures when the OS provides them (so far, only on OS X).
  • Added a smart zoom signal to PinchArea to react to that gesture on an OS X trackpad.
  • 添加 scrollGestureEnabled 特性到 MouseArea to control whether native scroll gestures from the OS will be handled by the wheel signal handler.

Qt Quick Controls 模块

Qt WebEngine 模块

  • 添加 WebEngineProfile for controlling storage and cache paths and related policies.
  • Added support for a JavaScript Geolocation API with Qt Location 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 APIs promoted to public.
  • 添加 QtWebChannel integration API over Chromium IPC.
  • 把 Chromium 快照更新到 v40。

Qt WebView 模块

  • Added native implementations for 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.

弃用功能

下列模块在 Qt 5.5 被弃用:

  • Qt WebKit
  • Qt Declarative (Qt Quick 1)
  • Qt Script

These modules are still included in Qt 5.5, but are considered for removal in future releases.

API 变化列表

以下页面包含 Qt 5.5 中的 API 变化列表:

其它 Qt 5 发行的补充