本页内容

Qt 6.10 的新功能

Qt 6.10 中的新增和恢复模块

Qt 6.10 新增了以下模块和工具:

Qt 6.10 的新功能

Qt Core 模块

Qt D-Bus 模块

Qt Graphs 模块

Qt GRPC 模块

Qt GUI 模块

Qt HttpServer 模块

Qt Lottie Animation

Qt Multimedia 模块

Qt Network 模块

  • 在QSslCertificate 中添加了 fromFile() 方法。
  • 在QHttpHeaders 中添加了 setDateTimeValue(),这是一个用于设置 HTTP 头中日期和时间值的便捷方法。
  • 在QHttpHeaders 中添加了便利方法,用于将值作为QDateTime 、整数或这些类型的列表检索。

Qt Protobuf 模块

Qt Qml 模块

  • 新增了TreeModel QML类型,允许在QML文件中定义树结构,并支持TreeView 。
  • 新增了SortFilterProxyModel QML类型,用于对模型数据进行排序和过滤。此功能处于技术预览阶段。
  • 在DelegateModel 及所有视图中添加了delegateModelAccess属性。现在,您可以通过必需属性将数据写入模型。
  • 新增了Synchronizer QML 类型。Synchronizer 可在不使用绑定的情况下,保持两个或多个属性的同步。此功能处于技术预览阶段。
  • 在 qmlformat 中添加了分号自定义规则。现在您可以控制是否在 JS 语句末尾添加分号。
  • 新增了专注于提升与Qt Creator 兼容性的 qmllint 警告,包括针对Qt Design Studio 特定限制的检查、额外的 JavaScript 相关警告,以及若干与 QML 枚举和导入相关的新警告。
  • 已从TableModel 中移除了对复杂行结构操作的支持。
  • 更改了TableModel::setData 中角色和值参数的顺序,以消除歧义。

Qt Quick 模块

  • 添加了FlexboxLayout QML 类型,以便像CSS Flexbox 一样灵活地排列快速项目。此功能处于技术预览阶段。

Qt Quick Controls 模块

  • FluentWinUI3 样式已增强对 Windows 11 对比度主题的支持。
  • 新增了SearchField 控件

Qt Quick Dialogs 模块

  • 新增了popupType 属性,可用于控制非原生对话框是应在单独窗口中打开,还是作为现有场景中的一个项目显示。使用原生对话框时,此属性无效。

Qt Quick Effects 模块

Qt Quick 3D 模块

  • 在形状发射器中添加了 `emitMode `,以便根据形状的表面法线发射粒子。
  • 实现了reversed 发射器,使粒子能够从结束时间运行到开始时间。
  • 若干与光照贴图相关的改进和变更:
    • 引入了基于“每单位纹素数”的光照贴图尺寸,新增了Model::texelsPerUnit 和Lightmapper::texelsPerUnit 属性,并取代了现已弃用的Model::lightmapBaseResolution 属性。
    • 引入了Lightmapper::source 属性,用于为整个场景设置一个光照贴图源,该属性取代了已弃用的BakedLightmap::loadPrefix 。
    • 为烘焙光照贴图新增了基于 GPU 的内置非局部均值(NLM)去噪功能,可通过Lightmapper::denoiseSigma 属性进行控制。
    • 光照贴图烘焙窗口已得到改进,现在会显示进度条和剩余时间估计值。
    • 烘焙现在在独立的 RHI 上下文中进行,不会阻塞正在运行的应用程序的渲染。
    • 烘焙某些场景时,RAM 和 VRAM 的占用量已减少。
    • 新增了光照贴图查看器工具,可通过图形界面或命令行对烘焙后的光照贴图文件进行调试。
  • 修复了 glTF2 baseColorFactor 的颜色导入问题,通过将线性颜色正确转换为 sRGB,使其符合规范。
  • 在QtQuick3D 中添加了CapsuleGeometry 。Helpers 具有固定的纹理、支持异步创建,并暴露了 uvProfile 属性。

Qt Quick 3D XR 模块

  • 公开了method ,用于请求对空间锚点进行房间扫描。

Qt Quick 3D 物理模块

Qt Quick VectorImage 模块

  • 新增对动画 SVG 的支持,该功能与Qt SVG 中提供的动画支持相匹配。
  • 新增了API 属性,用于指示源文件是否可信。
  • 添加了API 来控制动画行为。
  • 通过包含由 Qt Lottie Animation提供的插件,VectorImage 现也可显示 Lottie 文件。此功能目前处于技术预览阶段,需要将assumeTrustedSource 设置为true 。

Qt Serial Port 模块

  • 新增了通过writeBufferSize 属性限制写入缓冲区大小的支持。

Qt Serial Bus 模块

Qt SQL 模块

Qt SVG 模块

  • 新增了对 fill-opacity、stroke-opacity 和 opacity 属性的 CSS 动画支持。
  • 添加了一个演示如何查看 SVG 文件的示例。

Qt Test 模块

  • 数据驱动的基准测试现可在明文名称中同时识别全局数据和本地数据
  • 在 Apple Silicon 上,现已禁用 lldb 的回溯信息
  • 当 `QTest ` 在比较中打印浮点数时,现在会提供完整精度并包含十六进制浮点数版本

Qt VirtualKeyboard 模块

  • 在第三方来源的署名文件中添加了 PURL 和 CPE 信息。
  • 添加了拉脱维亚语键盘布局。

Qt WebEngine 模块

Qt WebView 模块

  • 为 Windows 平台新增了 WebView2 插件。新后端使用基于 Chromium 的 Edge 浏览器中名为WebView2 的原生 COM API。因此,您现在无需随附Qt WebEngine 即可提供 Web 内容。

Qt Widgets 模块

Qt XML 模块

Qt MQTT 模块

  • 添加对 WebSockets/安全 WebSockets 的支持

工具

QDoc 文档生成器

  • QDoc 现可自动为每个 C++ API 声明添加“查看源代码”链接。可通过新的url.sources系列配置变量(url.sources.enabled 、url.sources.rootdir 、url.sources.linktext )启用此功能。
  • QDoc 现可通过弗洛伊德(Floyd)循环检测算法识别 QML 类型中的循环继承,并报告该问题,而非陷入无限循环。
  • 当您使用\qmlproperty 命令对.qml 文件中定义的 QML 属性组进行文档化时,系统会识别这些属性组并将其显示为单个分组属性。
  • 由 Qt 工具(moc_ 、uic_ 、qrc_ 等)生成的源文件现在会被自动跳过,从而缩短大型项目的 QDoc 构建时间。
  • 现在,即使对于未别名的属性,也可以在\qmlproperty 命令中直接覆盖.qml 文件中显示的 QML 属性数据类型。
  • “documentationinheaders”选项不再作为技术预览提供,而是被视为稳定功能。该选项首次引入于 Qt 6.9。
  • 在生成 DocBook 输出时,QDoc 现在会包含重载说明。
  • 重载的信号和槽现在包含一个上下文代码片段,以展示其用法。
  • QDoc 可以链接 LLVM 21 中的 Clang 库。
  • .index-files 文件包含由 `\fn-` 命令声明的返回类型。这在多项目构建中非常有用,例如当作者使用 `auto` 重写函数的返回类型时。
  • 现在,您可以使用新的 \qmlenum 命令为 QML 枚举添加注释。QDoc 会在生成的文档中创建一个名为“QML 枚举”的新章节。
  • 代码片段的缩进现已标准化,去除了多余的左侧空白。这意味着来自深度缩进源代码的片段(例如在一系列深度嵌套的if 语句中),在显示时将如同未嵌套一般。
  • QDoc 现在可以正确解析带有默认参数的模板别名。
  • 如果存在未被废弃的替代方案,QDoc 将不再自动链接到已废弃的函数。
  • 您可以使用新的\notranslate 命令来阻止字符串的机器翻译。

Qt Linguist

  • 在Qt Linguist 和 lupdate 中增加了对使用自定义标签组织基于 ID 的翻译的支持。
  • 在Qt Linguist 中引入了 QML 表单预览功能,用于在上下文中对翻译进行可视化验证。
  • Qt Linguist 已更新,界面焕然一新,包括新图标、改进的调色板以及对深色模式的更好支持。
  • lupdate 和 lrelease 现支持在同一文档中混合使用基于 ID 和基于文本的翻译。
  • 从 lupdate 中移除了基于 Clang 的解析器。
  • 在 lupdate 中统一了不同编程语言对元字符串(如 //: 和 //~ 的注释)的支持。
  • 在文档中添加了新的 i18n 示例。
  • lrelease 现在提供了 -fail-on-unfinished 选项,如果存在未完成的翻译,则会使构建失败。
  • 已弃用使用//= 元字符串注释为基于文本的翻译设置ID的做法。

平台变更

构建系统变更

  • 使用私有 Qt 模块 Foo 现在需要调用find_package(Qt6 COMPONENTS FooPrivate) ,以使Qt6::FooPrivate 目标可用。
  • 在qt_add_resources() 中添加了DISCARD_FILE_CONTENTS 选项。
  • qt6_generate_deploy_[app_]script 的FILENAME_VARIABLE 选项(已在 Qt 6.6.0 中弃用)已被移除。
  • 在qt_deploy_runtime_dependencies 中添加了NO_PLUGINS 参数。这将完全禁用插件部署。
  • 在qt_deploy_runtime_dependencies 中添加了INCLUDE_PLUGIN_TYPES 、EXCLUDE_PLUGIN_TYPES 、INCLUDE_PLUGINS 和EXCLUDE_PLUGINS 参数。
  • 在qt_generate_deploy_app_script 中添加了用于选择 Qt 插件的参数。
  • qt6_import_plugins 在 Linux 上使用 CMake 部署 API 时,该选项对插件部署不再产生任何影响。
  • qt6_deploy_runtime_dependencies 现在在 Linux 上支持以下插件选择标志:INCLUDE_PLUGINS 、INCLUDE_PLUGIN_TYPES 、EXCLUDE_PLUGINS 、EXCLUDE_PLUGIN_TYPES 。
  • 在qt_add_qml_module() 中添加了DISCARD_QML_CONTENTS 选项,该选项可从目标的资源系统中删除原始的 QML 和 JS 文件内容。

桌面平台

Windows

Linux

  • Linux 桌面预编译二进制文件现采用 RHEL9 构建,这使得 glibc 的最低要求从 2.28 提高到 2.34。

macOS

  • 启用了扩展动态范围(EDR)的 Windows 系统现在会在屏幕亮度变化时触发 expose 事件
  • 现支持 titleUIElement 辅助功能属性
  • 服务菜单集成现已支持富文本
  • QOperatingSystemVersion::MacOSTahoe 代表 macOS 26
  • 已添加 WhatsThisCursor 和 BusyCursor 的映射
  • QImage::toCGImage() 现可传播图像的色彩空间

Linux 上的 Wayland 客户端

移动平台

Android

Android 版 Qt
  • 将 Gradle 更新至 8.14.2 版本,将 Android Gradle 插件 (AGP) 更新至 8.10.1 版本。
  • 已添加对 Android 12 启动画面的支持。
  • 新增对 Android 16KB 页面大小的支持。
  • 新增了一个示例(QtJennyDemo),用于通过代码生成器(QtJenny)生成的 C++ 封装类访问 Android API。
  • 将 Android 16(API 36)设为支持的最高平台版本。
Qt Quick 适用于 Android
  • 为 QtQuickView 下的信号增加了对多个参数的支持。
  • 增加了在 QML 完全加载之前注册信号监听器的支持。
  • 以 javadoc 格式提供的公共 Java API。

iOS

  • 为 Apple Pencil 增加了对QPointingDevice 的支持
  • 修复了标准 Apple Pencil 的旋转问题
  • 新增对第二代及后续版本 Apple Pencil 悬停功能的支持
  • 启用了扩展动态范围(EDR)功能的 Windows 系统,现在在屏幕亮度变化时会触发“显示”事件
  • 当应用退出活动状态时,更新请求将暂停
  • QScreen 现在还会报告屏幕方向倒置的情况
  • RLIMIT_STACK 现反映实际栈大小
  • QImage::toCGImage() 现将图像的色彩空间传递下去

嵌入式平台

Boot to Qt

  • 已添加对 Yocto 5.2 (Walnascar) 的支持。
  • 目标硬件支持级别已更新,增加了 Tier 2 级别的支持主板:
    • NXP i.MX 93 11x11 LPDDR4X EVK。
  • 已更新目标硬件支持级别,新增了第 3 级支持的开发板:
    • Toradex Colibri iMX6 ULL。

实时操作系统

  • 仅对 LTS 版本提供实时操作系统支持。对于非 LTS 版本,支持服务仅通过专业服务提供。

Qt 6.10 中已弃用的模块

以下模块已被废弃。我们强烈建议不要在新代码中使用它们。

Qt Charts 和 Qt DataVisualization 模块已被废弃。它们仍属于授权软件的一部分,并继续作为 Qt 项目的一部分存在。但是,对于新代码,我们建议您使用 Qt Graphs。此外,请参阅以下文档:{Qt Graphs 从Qt Charts 迁移 }{从Qt Charts 迁移 } 以及从Qt Data Visualization 迁移 。

有关 Qt 中模块生命周期的更多信息,请参阅QUIP-14。

API 变更列表

这些页面概述了 Qt 6.10 中的 API 变更:

已知问题

有关 Qt 6.10 中已知问题的信息,请参阅Qt Wiki。

© 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.