Qt 6.1 的新功能

Qt 6.1 的新模塊和還原模塊

Qt 6.1 添加瞭下列模塊:

Active Qt 模塊

Active Qt 提供 ActiveX 和 COM 支持,讓 Qt for Windows 開發者:

  • 在 Qt 應用程序中訪問和使用由任何 ActiveX 服務器提供的 ActiveX 控件和 COM 對象。
  • 使 Qt 應用程序可用作 COM 服務器,采用任意數量 Qt 對象和小部件作為 COM 對象和 ActiveX 控件。

Qt Charts 模塊

Qt Charts 仍隻支持 OpenGL 加速係列 ( AbstractSeries .useOpenGL)。此類係列不會在 Qt Quick 中渲染,若使用其它圖形 API 進行渲染。

Qt Data Visualization 模塊

Qt Data Visualization only supports the OpenGL RHI backend, and requires setting of the environment variable QSG_RHI_BACKEND to opengl . This can either be done at the system level, or defined in the application's main() with qputenv("QSG_RHI_BACKEND", "opengl"); .

Qt 設備實用程序模塊

僅支持網絡功能。

Qt Lottie 模塊

The Qt Lottie Animation 模塊已移植到 Qt 6 和 CMake 構建係統。

Qt SCXML 和 Qt StateMachine

Qt State Machine contains APIs that were part of Qt Core in Qt 5. The Qt State Machines package in the installer contains both the Qt SCXML and Qt State Machine 模塊。

Qt Virtual Keyboard 模塊

The Qt Virtual Keyboard 模塊已移植到 Qt 6 和 CMake 構建係統。

  • A new dictionary manager allows user defined dictionaries (e.g. phone book) to be implemented by the application.
  • There are new properties in VirtualKeyboardSettings .
  • Support is added for Cerence Handwriting (T9 Write) and XT9.

Qt 6.1 的新特徵

Qt Core 模塊

Qt Gui 模塊

  • QColorSpace can now set custom transfer-functions as tables.
  • QTextDocument now lets you to set a resource provider function, instead of sub-classing QTextDocument and overloading loadResource().
  • The Vulkan API wrappers ( QVulkanFunctions , QVulkanDeviceFunctions ) now expose the Vulkan 1.1 and 1.2 core APIs as well.
    • With relevant new functionality (supportedApiVersion()) added to QVulkanInstance to allow querying the supported instance-level version before instance creation.
  • 添加 QPainter::VerticalSubpixelPositioning hint. This is currently only supported on the Freetype font backend, and when available it will enable subpixel positioning of text in vertical direction at the expense of some memory and additional work. For most use cases, this should be left off, but it can be useful for very specific cases where you want to align painted elements vertically on a dynamically transformed painter.

Qt Widgets 模塊

Qt Network 模塊

  • QNetworkCookie 現在支持 SameSite 特徵。
  • 引入 QNetworkInformation :
    • QNetworkInformation currently exposes the reachability of the system, using system API.
    • Currently supports Darwin, Windows, Android, and NetworkManager on Linux.
  • TLS backends, powering QSslSocket and related QSsl classes, were converted to plugin-oriented design.
    • Public and private classes in the 'ssl' sub-module of QtNetwork are now TLS implementation neutral and are not exposed to low-level APIs/details.
    • Existing TLS-backends (OpenSSL, SecureTransport, Schannel) now report which classes, features and protocols they support.
    • It's possible (for an application, using Qt) to provide its own backend to be used by QSslSocket and related classes.

Qt QML 模塊

  • 添加 QJSPrimitiveValue and QJSManagedValue for a more fine-grained control over JavaScript execution than it was possible with QJSValue alone.
  • The qt6_add_qml_module CMake function (still in Tech Preview) adds a qmllint target, which runs qmllint on the target's QML files.

Qt Quick 3D 模塊

  • Technology preview: "Instanced Rendering", an optimized way of drawing multiple instances of the same objects with different transformations. This feature is considered feature-complete, but may still undergo minor API changes based on user feedback. It is planned for finalization in Qt 6.2.
  • Technology preview: 3D Particles, an API for adding particle effects to 3D scenes. This API is ready for testing, but is not yet feature-complete.
  • Qt Quick 3D now supports morph target animations, i.e. animations where all vertices interpolate between two sets of positions, giving the impression that one shape is morphing into another.

Qt 5 Compatibility 模塊

While Qt Graphical Effects does not ship with Qt 6, a number of effects have been ported to the new graphics architecture and added to the Qt5Compat module. For example, to gain access to DropShadow , add the QML import Qt5Compat.GraphicalEffects . Some complex effects that rely on dynamic shader generation, such as a number of blur variants, have been removed.

API 變化列錶

這些頁麵包含 Qt 6.1 的 API 變化概述: