Qt 6.0 的新功能
Qt 6 中构建系统的变化
从源代码构建 Qt 现在需要 CMake 和 Ninja。请参阅 "Qt 6 中的构建系统变更",了解有关此变更和 configure 中其他变更的更多详情。
对支持模块的更改
与 Qt 5 相比,Qt 6.0 进行了精简,Qt 6.0 的默认安装中不再包含某些模块。由于 Qt 的模块化结构,新模块或以前的 Qt 5 模块可能会出现在未来的 Qt 6 版本中。更多信息,请访问所有模块页面。
Qt 6 中 Qt 模块的变化列出了 API 的变化。
Qt 6.0 中的新模块
以下是 Qt 6.0 中的新模块。
Qt 6.0 中已删除的模块
以下是 Qt 6.0 中没有的 Qt 5 模块。它们可能会在 Qt 6 的未来版本中重新引入。
| 模块 | qmake | 注释 |
|---|---|---|
| Android 版 Qt 额外模块 | androidextras | 查看Qt Extras 模块的更改 |
| Qt Bluetooth | bluetooth | |
| Qt Charts | charts | |
| Qt Data Visualization | datavisualization | |
| QtGraphical Effects | 可通过Qt 5 Compatibility APIs: Graphical Effects. See successors in Qt 6.5: MultiEffect and Qt Quick Effect Maker. | |
| Qt Location | location | |
| Qt Mac Extras | macextras | 查看Qt Extras 模块的更改 |
| Qt Multimedia | multimedia | |
| Qt Multimedia 小工具 | multimediawidgets | |
| Qt NFC | nfc | |
| Qt Positioning | positioning | |
| Qt 采购 | purchasing | |
| Qt Quick 附加组件 | 并入Qt Quick 控件 | |
| Qt Remote Objects | remoteobjects | |
| Qt 脚本 | qtscript | |
| Qt SCXML | scxml | |
| Qt 脚本工具 | scripttools | |
| Qt Sensors | sensors | |
| Qt Serial Bus | serialbus | |
| Qt Serial Port | serialport | |
| Qt 语音 | texttospeech | |
| Qt WebChannel | webchannel | |
| QtWebEngine | webenginecore | |
| Qt WebSockets | websockets | |
| QtWebView | webview | |
| Qt Windows Extras | winextras | 查看Qt Extras 模块的更改 |
| Qt X11 额外功能 | x11extras | 查看Qt Extras 模块的更改 |
| Qt XML 模式 | xmlpatterns |
Qt 6.0 中的新功能
Qt QML 模块
- QML 语言
- 添加了 JavaScript URL 对象支持,在 QML JavaScript 代码中提供本地 URL 处理。
- 允许不带版本的导入。如果在 QML 导入语句中省略了版本,则会导入模块的最新版本。
- 模块系统
- 在 qmldir 文件中添加了
import指令。这启用了可选导入和声明式模块导入,允许模块明确声明其依赖关系。 - 新增了qmlRegisterModuleImport(),用于向模块程序化地添加导入。除非你知道自己在做什么,否则不要这么做。
- 新增了在 QML2_IMPORT_PATH 环境变量中指定资源 (
:/some/path) 路径的支持。 - QML 插件现在可以是可选的了。qmldir 文件中的
optional指令指定,如果二进制文件中已存在模块类型,则无需加载插件。对于QtQuick 或QtQml 等模块来说,这种情况很常见。 - 引入了对纯重定向 QML 模块的支持,这些模块只导入和重导出其他模块,而不提供自己的类型。
- 在 qmldir 文件中添加了
- 类型系统
- 为QQmlListProperty 引入了覆盖行为 QML_LIST_PROPERTY_ASSIGN_BEHAVIOR_{APPEND|REPLACE|REPLACE_IF_NOT_DEFAULT},让 QML 对 C++ 声明的列表属性的操作有更多控制。
- 新增了对用户自定义序列类型的支持。现在可使用QML_SEQUENTIAL_CONTAINER 在 QML 中直接注册和使用自定义列表类型,从而实现类型安全的列表属性,而无需将元素封装在 JavaScript 对象中。
- 为 QML 类型版本管理引入了双组分修订格式(Major, Minor),为 API 演进提供了更细粒度的控制。
- 允许通过QML_EXTENDED 扩展单子。
- 通过QML_EXTENDED_NAMESPACE 允许命名空间作为类型的扩展。
- 通过QML_FOREIGN_NAMESPACE 允许 QML 类型来自外来命名空间。
API 变更列表
这些页面概述了 Qt 6.0 中的 API 变化:
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.