Qt 5.8 的新功能

Qt 5.8 中的新特征

Qt Core 模块

  • Added at(), operator[], mid(), right(), and left() functions to QLatin1String .

Qt GUI 模块

Qt Quick 模块

  • Refactored the Qt Quick scene graph to remove its OpenGL dependency, enabling backends based on other graphics APIs such as Vulkan or Direct3D.
  • Integrated the software renderer (previously known as the Qt Quick 2D Renderer) for Qt Quick as a proper scene graph backend.
  • Implemented support for partial updates in the software renderer.
  • Added an experimental Direct3D 12 backend.
  • Implemented caching of code and data structures generated from .qml and .js files to disk, reducing start-up time and memory consumption. The resulting .qmlc and .jsc cache files are memory mapped.
  • Cleaned up touch and mouse event delivery, and added a new internal class QQuickPointerEvent for this purpose.

Qt Quick Controls 2 模块

  • Added new QML types: Dialog , DialogButtonBox , MenuSeparator , RoundButton ,和 ToolSeparator .
  • Added ripple effects to the Material style.
  • Added hover effects to Material and Universal styles
  • 添加 系统 theme to Material and Universal styles
  • Added new experimental platform QML types: MenuBar , Menu , SystemTrayIcon , ColorDialog , FontDialog , MessageDialog , FileDialog ,和 FolderDialog .

Qt WebEngine 模块

  • 基于 Chromium 53.
  • Updated requirements to MSVC 2015 Update 2 or later on Windows.
  • 添加 view-source scheme support.
  • Added support for spellchecking with custom .bdic files.
  • Made tooltips (HTML5 global tile attribute) visible.
  • Added support for metadata ( @include , @exclude , @match , @name ,和 @run-at ) in user scripts.
  • QML: Enabled the use of custom dialogs and context menus.
  • QML: on eglfs, took the built-in dialogs based on Qt Quick Controls 2 into use.
  • Added support for printing.
  • Added a setting to enable printing of CSS backgrounds.

Qt Bluetooth 模块

  • Added Bluetooth Low Energy Peripheral support on macOS, iOS, and WinRT.

Qt Multimedia 模块

  • 添加 QAudio::convertVolume () and a matching QML method to convert audio volumes from one scale to another; for example, from logarithmic to linear scale.
  • Added support for rendering YUV 4:2:2 (YUYV, UYVY) video frames to VideoOutput QML 类型。

Qt Network 模块

  • Added support for TLS-PSK ciphersuites on server side.
  • Added support for configurable Diffie-Hellman parameters.
  • Added support for HTTP/2 in Network Access Manager.

Qt WebSockets 模块

  • Added support for TLS-PSK ciphersuites on client and server side.

Qt Charts 模块

  • Added a candlestick chart type.

Qt 3D 模块

  • Focused on maturation: Bug fixes, improving performance and test coverage.
  • 添加 paint to texture feature using QPainter .
  • Added optional support for issuing commands to Qt3D aspects (for example, from a profiler).

嵌入式平台

  • Enhanced multi-screen capabilities and configurability with eglfs when running on KMS/DRM, both with GBM and EGLDevice/Stream.
  • Added support for 90 and 180 degrees rotation of software-rendered content ( QWidget ) in eglfs.

可配置性 (Qt Lite 工程)

  • Qt 5.8 comes with a rewritten configuration system that allows for easy customization of Qt builds. The main focus of this feature is for the Device Creation, but it can also be used to tailor a Qt build for mobile or desktop platforms. The new configuration system allows removing individual pieces of functionality and APIs from Qt, creating a more lightweight set of libraries for deployment.

新模块

  • Qt Wayland Compositor
    • 提供开发 Wayland 合成器的框架。
  • Qt SCXML
    • Enables static and runtime integration of SCXML models into Qt code.
  • Qt Serial Bus
    • Provides access to various industrial serial buses and protocols, such as CAN and ModBus.

These modules were previously released as technology previews, and are now fully supported Qt add-on modules.

技术预览模块

  • Qt Gamepad
    • Enables Qt gaming applications to respond to gamepad input.
  • Qt Speech
    • Text to speech and speech recognition functionality. Currently only the text to speech features are released. Includes backends for several speech synthesizers on Windows, Linux, macOS, and Android.
  • Qt Network Authorization
    • Online authorization support with OAuth protocol, versions 1 and 2.

弃用功能

  • Qt Script

Deprecated modules are still included in Qt 5.8, but are considered for removal in future releases.

移除功能

  • Qt Quick 2D Renderer (functionality has been merged into Qt Quick).

API 变化列表

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

其它 Qt 5 发行的补充