Qt 6.11 的新功能
Qt 6.11 的新模块
Qt 6.11 新增了以下模块:
- Qt Canvas Painter——一种针对基于Qt Quick 和QRhi 的渲染目标的加速 2D 绘图解决方案。
- Qt OpenAPI—— 上游 Open API 生成器的扩展,用于生成 Qt HTTP 客户端,通常用于 RESTful API。
- Qt TaskTree- 提供了一种声明式方法,用于组合和执行异步任务工作流。
- Qt Labs StyleKit——一款专用的样式设计 API,通过一组共享的设计属性简化了Qt Quick Controls 的样式设置。
这些新模块目前处于技术预览阶段,其 API 不包含在Qt 的兼容性承诺范围内。但我们非常欢迎大家提供反馈,以进一步改进它们!无论是通过Qt 支持中心、Qt 错误追踪器、Qt 论坛,还是相关博客文章的评论区,我们都热忱欢迎。
Qt Canvas Painter 模块
Qt Canvas Painter是一款面向Qt Quick 和QRhi 渲染目标的加速 2D 绘制解决方案。概述请参阅Qt Canvas Painter 博客系列。
Qt OpenAPI 模块
Qt OpenAPI扩展了一个Open API 生成器,用于生成 Qt HTTP 客户端,通常用于 RESTful API。除了文档之外,博客文章《借助 Qt 6 中的 OpenAPI 支持,REST 更出色》也提供了很好的概述。
Qt TaskTree 模块
Qt TaskTree提供了一种声明式方法,用于在 C++ 中组合和执行异步任务工作流。请参阅《简介》博客系列文章以获取概述。
Qt Labs StyleKit 模块
Qt Labs StyleKit是一个专用的样式 API,通过一组共享的设计属性,简化了Qt Quick Controls 的样式设置。
Qt 6.11 的新功能
ActiveQt 模块
无显著变更。
Qt Bluetooth 模块
无显著变更。
Qt CoAP 模块
- QCoapClient::bindInterface 允许将通信绑定到特定的网络接口。
Qt Core 模块
- QDate 现在支持弱递增,即实现了前缀和后缀递增(及递减)运算符,并且可以在 C++20 的
std::views::iota中使用。 - QJniObject 现在可以使用
std::expected(或等效类型)作为返回类型来调用 API,在这种情况下,Java 异常不会被框架捕获,而是作为意外结果传递回调用方。 - QRangeModel::ItemAccess 提供了一个自定义点,用于访问多角色项类型的角色数据。
- QRangeModel 现在可以将
std::begin/end用于未提供常量 实现的 C++ 范围,例如 C++20 中的std::views::filter。 - 对于使用相同QObject 子类处理多角色项的范围,可将新的QRangeModel::autoConnectPolicy 设置为Full或OnRead,从而将QObject 项所有公开属性的changed-signals连接到相应的dataChanged()信号发射。
- QRangeModelAdapter 为QRangeModel 操作的范围提供了一个典型的C++容器API,确保在发生变化时会发出相关的QAbstractItemModel 信号,而用户代码无需直接处理QModelIndex 。该新类目前处于技术预览阶段。
- 在 Windows 平台上,Qt 现可为使用 CMake 构建的可执行文件自动生成应用程序清单。该清单从 `
PROJECT_VERSION` 获取应用程序版本信息,支持通过 CMake 变量自定义项目标识符和执行级别,声明与 Windows 10 及 Windows 11 的兼容性,并启用longPathAware。
Qt Concurrent 模块
无显著变更。
Qt D-Bus 模块
无显著变更。
Qt Graphs 模块
- 新增了QCustomSeries 类,允许用户创建自己的2D图表类型,例如K线图或箱线图
- 为 3D 图表添加了多轴支持,具体表现为:在QBar3DSeries 中增加了rowAxis 、valueAxis 和columnAxis 属性,在QScatter3DSeries 中增加了axisX 、axisY 和axisZ 属性,以及QSurface3DSeries
- 在QPieSlice 中添加了subSlicesCount 、subSlicesSum 、subSlicesRatio 以及sliceChildren 属性,以便在饼图和环形图中创建子扇区
- 在QDateTimeAxis 和QValueAxis 中添加了visualMin 和visualMax 属性,用于存储可见轴范围
- 在QAreaSeries 中添加了gradient 和selectedGradient 属性,以支持在面积图中使用渐变效果
- 在QBarCategoryAxis 中添加了labelPosition 属性,以便调整条形图中标签的位置
- 在QDateTimeAxis 中添加了timeZone 属性,以便为坐标轴设置自定义时区
- 在QDateTimeAxis 中添加了pan 和zoom 属性,以便像在QValueAxis
- 在QAbstractAxis 中添加了color 和subColor 属性,以便覆盖坐标轴的主题颜色
- 在QLineSeries 中添加了joinStyle 、lineStyle 、strokeStyle 、dashOffset 和dashPattern 属性,以便对折线图进行进一步的样式设置
- 在QSplineSeries 中添加了optimized 属性,以便使用 Catmull-Rom 插值法,取代性能消耗更大但精度更高的默认方法
- 在QBar3DSeries 中添加了customRowLabels 和customColumnLabels 属性,以便覆盖行和列标签
- 在QCustom3DItem 中添加了rotationAbsolute 属性,以修复自定义项目旋转中的问题
- 在QSurface3DSeries 中添加了rowsSanitized 属性,用于自动移除包含无效数据的行
- 在GraphsItem3D 和Q3DGraphsWidgetItem 中添加了cutoffMargin ,用于调整图表边缘附近项目剔除的灵敏度
- 在单个GraphsView 中增加了对多个QBarSeries 的支持。
- 支持在QBarSeries 中使用负值。
- LineSeries 现支持无效值,这会导致视觉上的间隙。
Qt GRPC 模块
- 在 `QtGrpc ` 中添加了新的客户端拦截机制,以实现对传出请求和传入响应的拦截与修改。
- Qt 6.11 为QGrpcCallOptions 和QGrpcChannelOptions 添加了比较运算符(
operator==和operator!=),从而能够直接检查选项对象之间的相等性。 - QGrpcOperation 该类引入了serverInitialMetadataReceived() 信号,一旦接收到服务器的初始元数据,便会立即通知 RPC 处理程序。
- QGrpcChannelOptions 和QGrpcCallOptions 类现在提供了filterServerMetadata() 和setFilterServerMetadata() 方法,用于控制服务器响应中是否包含与协议相关的元数据。
- QtGrpc 命名空间引入了RpcType 枚举和RpcDescriptor 结构体,用于通过服务名称、方法名称和通信模式来描述 gRPC 方法。
Qt GUI 模块
- 当停靠小部件在“停靠”和“浮动”状态之间切换时,停靠窗口框架会触发新类型 QAccessible::RoleChange 的可访问性事件。
- Qt Quick Controls 中的Switch类型使用了新的无障碍角色Switch 。
- 滑块和类似控件使用新的无障碍属性 `Orientation ` 向无障碍客户端报告其方向。
- QRawFont 新增了一个 API,用于获取glyphCount() 并根据字体的字形索引查询glyphName()。
- QTextCharFormat 新增了用于设置 `font features ` 和 `variable axes` 的 API。
Qt Help 模块
无显著变化。
Qt HTTP Server 模块
- 增加了对 HTTP/1.0 客户端的支持。
- QHttpServerConfiguration setMaximumUrlSize setMaximumTotalHeaderSize setMaximumHeaderFieldSize setMaximumHeaderFieldCount setMaximumBodySizeXML-PH-0000@deepl.internal
- 路由处理程序现在可以返回 `
QFuture<void>`,并通过在另一个线程中使用 `QHttpServerResponder&&` 参数进行响应,从而将 CPU 密集型请求处理从主服务器线程中卸载出来。 对于 HTTP/2 连接,可以并行处理多个请求;而 HTTP/1.x 连接虽按顺序处理请求,但仍可受益于后台处理。套接字 I/O 始终在QHttpServer 线程中进行。 - isResponseCanceled已向 `QHttpServerResponder` 添加 `()` 方法,允许处理程序检测客户端何时断开连接,并提前退出以避免不必要的处理。
Qt Image Formats 模块
更新了部分捆绑的第三方模块,详见“许可变更”。
Qt Lottie Animation
- 增加了对路径填充规则的支持。
- 添加了 CMAKE 命令qt_target_qml_from_lottie,用于在构建时将 Lottie 转换为 QML。
- lottietoqml和VectorImage 后端不再属于技术预览版。
- VectorImage: 新增了沿路径对形状进行动画处理的支持。
- VectorImage: 新增了对变形动画(在两个形状之间进行插值)的支持。
- VectorImage: 新增对蒙版图层的支持。
Qt MQTT 模块
无显著变更。
Qt Multimedia 模块
- 为QAudioSource 和QAudioSink 的start方法添加了基于回调的重载,以支持实时音频处理。
Qt Network 模块
- QNetworkRequest 现在可以为当前请求指定 TCP Keep Alive 参数。此外,QNetworkAccessManager 中的默认 TCP Keep Alive 参数已更改,现在,闲置两分钟的连接将被终止。
Qt Network 授权模块
无显著变更。
Qt NFC 模块
无显著变更。
Qt OPC UA 模块
Qt OpenGL 模块
无显著变更。
Qt Positioning 模块
- WebAssembly 应用程序的 Qt现可使用浏览器的 GeoLocation API 作为后端。
Qt PrintSupport 模块
- 打印对话框的辅助功能改进:建立了标签配对和正确的焦点顺序,以增强屏幕阅读器的支持和键盘导航功能。
Qt Protobuf 模块
- qprotobufmessage_cast() 函数可对QProtobufMessage 指针进行安全的向下转换。与qobject_cast() 或
dynamic_cast()类似,它能够轻松、安全地进行运行时类型检查和转换。
Qt Qml 模块
- 在QML Language Server 中添加了工作区支持。
- 在QML Language Server 中添加了“转到 C++ 定义”功能。
- 通过
.contextProperties.ini配置文件为 qmllint 添加了静默处理上下文属性警告的功能。 - 引入了
override和virtual关键字,它们与现有的final关键字和工具支持相结合,有助于防止意外的属性遮蔽,并允许在QML中显式覆盖属性。详情请参阅“属性遮蔽和覆盖语义”。 - 为easingCurve 值类型命名,并将Easing命名空间转换为单例。
- 在QQmlContext 中添加了用于获取list of child contexts 的API,并在find an object by id 中添加了相关API。
- 在 qmlformat 中添加了 GroupAttributesTogether 选项。该选项隐含 NormalizeOrder 选项,可在不按属性(属性定义、属性绑定、方法、信号和枚举)排序的情况下,重新排序 QML 类别。
- 在 qmlformat 中添加了 SingleLineEmptyObjects 选项。这可防止空对象扩展到第二行。
Qt Quick 模块
- 添加了 CMAKE 命令qt_target_qml_from_svg,用于在构建时将 SVG 转换为 QML。
- 在Flickable 中添加了API,用于将视图通过position 或flick 绑定到子元素,以及flick to a position 。
Qt Quick Controls 模块
- 添加了DoubleSpinBox ,该函数与SpinBox 类似,但支持浮点数值。
- 在DialogButtonBox 中添加了defaultButton 和defaultStandardButton 。设置后,每当DialogButtonBox 获得焦点时,相应的按钮将被高亮显示并获得 activeFocus。
Qt Quick Dialogs 模块
无值得注意的更改。
Qt Quick Effects 模块
- Qt 6.11 为 `RectangularShadow ` 添加了四个新属性,用于独立控制各角的圆角半径:topLeftRadius 、topRightRadius 、bottomLeftRadius 和bottomRightRadius 。如果未设置,每个属性将回退到现有的 `radius ` 属性;若设置为零,则生成锐角,从而支持通过为每个角设置不同的圆角半径来生成更灵活的阴影形状。
Qt Quick Layouts 模块
无显著变更。
Qt Quick Particles 模块
无显著变更。
Qt Quick Timeline 模块
无显著变更。
Qt Quick Test 模块
无显著变更。
Qt Quick 小部件模块
无显著变更。
Qt Quick 3D 模块
- 添加了用于用户自定义渲染阶段的 QML API,支持直接在 QML 中实现自定义渲染管道,无需 C++ 知识
- 在ExtendedSceneEnvironment 中添加了ssrEnabled 属性,以启用屏幕空间反射(SSR)
- 在ExtendedSceneEnvironment 中添加了屏幕空间全局照明(SSGI)效果,提供环境光遮蔽和实时间接照明
- 为时间抗锯齿(Temporal AA)和运动模糊效果添加了按对象生成的运动向量
- 添加了分层支持,允许将节点分组并控制摄像机渲染哪些图层
- 添加了链表顺序无关透明度(OIT)渲染方法
- 在后处理效果和自定义材质中增加了对
NORMAL_ROUGHNESS_TEXTURE的支持 - 在 PCF 柔和阴影中添加了蓝色噪声采样,以提高质量并减少可见的噪声图案
- 针对纹理中采用Qt Quick ( )的内容,已添加对预乘透明度(pre-multiplied alpha)的正确处理
- 在后处理效果中添加了
VIEW_MATRIX和PROJECTION_MATRIX曝光功能 - 在View3D 中添加了pickInRect()方法,用于基于矩形的对象选择
- 在View3D 中添加了closestPointPick() 方法,用于查找表面上距离给定点最近的点
- 在rayPick() 中添加了可接受特定模型参数的重载版本
- 为粒子发射器添加了场景形状功能,可根据场景几何体动态计算形状
- 添加了QQuick3DTextureProviderExtension API,用于简化自定义纹理提供程序的创建
- 在QSSGFrameData 中添加了scheduleRenderResults()函数,用于请求特定的渲染通道结果
- 将 Assimp 更新至 v6.0.2
Qt Quick 3D XR 模块
- 新增了对 OpenGL 桌面版 Linux 的支持(Monado、Xlib、Wayland 平台)
- 扩展了processTouch(),使其能够将触摸事件传递给任何可选中的Model ,而不仅仅是XrItem
- 增强了touchpointState(),使其能够返回 3D 触摸交互的表面位置和法线向量信息
- 通过专用的 QQuickOverlay 在XrItem 中添加了弹出窗口和菜单支持
- 将 OpenXR 更新至 v1.1.49
Qt Quick 3D 物理模块
无显著变更。
Qt Quick VectorImage 模块
- 新增对 SVG 蒙版的支持。
- 新增对 SVG 后处理滤镜的支持,以匹配以下模块中的支持: Qt SVG:feGaussianBlur、feColorMatrix、feOffset、feFlood、feBlend、feComposite 和 feMerge。
- 新增了沿路径对形状进行动画处理的支持。
- 新增对 SVG <symbol> 标签的支持。
Qt Serial Port 模块
无显著变更。
Qt Serial Bus 模块
无显著变更。
Qt SQL 模块
没有值得注意的更改。
Qt SVG 模块
- 新增对通过 `
offset-path` 和 `offset-distance` 实现的 CSS 运动路径动画的支持。请注意,offset-path仅支持使用 `path` 函数来定义路径。 - 新增了对整个动画使用 CSS 动画时序函数的支持。目前仅支持预定义的关键字(
linear、step-start、ease等)。
Qt Test 模块
- 新增了QTest::currentGlobalDataTag() 函数,用于检索当前全局测试数据的名称。
- 添加了QTest::defaultTryTimeout ,用于配置 QTRY_* 函数使用的默认超时时间。
- QCOMPARE 现在会打印负零和 NaN 值的符号,并打印 NaN 有效载荷。
- QTEST_THROW_ON_FAIL 现在,当从QtConcurrent 内部调用QCOMPARE/QSKIP时,QTEST_THROW_ON_SKIP 和 也能正常工作。
- QTest::failOnWarning() 现在在任何 >= 警告级别的消息类型上都会失败,包括关键消息。
- 在 macOS 上,整个测试执行期间,显示休眠和 App Nap 现已无条件禁用。
- 将 Callgrind 支持更新至 Valgrind v3.25.1,增加了对 RISCV 64 位 Linux 的支持。
Qt VirtualKeyboard 模块
- Qt 6.11 在 `VirtualKeyboardSettings` 中引入了 `arrowKeyNavigationEnabled ` 属性,允许开发者在输入面板可见时,控制是否允许使用方向键(左、右、上、下)和回车键在键盘按键之间导航。该属性的默认值基于构建时配置标志 `
QT_VIRTUALKEYBOARD_ARROW_KEY_NAVIGATION`。 - 在KeyboardStyle 类型中添加了keyboardDesignMaximumHeight 属性。使用此属性可防止键盘覆盖屏幕的大部分区域。
Qt WebEngine 模块
- Qt WebEngine 现已基于 Chromium 140。
- Chromium 已添加新的 Rust 组件,旨在取代其 C++ 对应组件。现在可以选择使用这些 Rust 组件来构建Qt WebEngine 。这需要安装 Rust 工具链,并通过
-feature-webengine-rust-build进行配置。默认行为是使用旧版 C++ 组件进行构建。 - 新增了OnlyPersistentCookies 策略,以防止会话 Cookie 被保存到磁盘。
- 新增了TrimAccessibilityIdentifiers 设置,用于强制将 HTML 的 'id' 属性用作辅助功能自动化 ID。
- 新增对 HTML 全局属性
inputmode的支持。 - 改进了
fetch()API 对重定向到跨源资源的处理。 - 移除了 Pepper 插件 API 代码。
- 启用了
chrome://usb-internals调试页面。
Qt WebView 模块
- 为WebView 添加了 C++ 绑定,允许您在基于Qt Widgets 的应用程序中使用该模块。新的 C++ API 处于技术预览阶段,将来可能会发生变更。
Qt Widgets 模块
- QWizard 新增了StretchBanner 选项,可将横幅拉伸至向导的整个宽度。
- QAbstractItemView 新增了一个keyboardSearchFlags 属性,用于调整 keyboardSearch() 的默认实现如何将给定字符串与模型中的数据进行匹配。
- QColumnView 新增了previewColumnVisible 属性,用于指定预览列是否可见。
- 新的 `QStyleOptionMenuItemV2 ` 类添加了一个标志,用于指示鼠标是否按压在由该样式渲染的项目上。
- QTabBar 现在,当tabsClosable 为true时,对标签页进行中键点击会触发tabCloseRequested 事件。
Qt XML 模块
没有值得注意的更改。
工具
QDoc 文档生成器
- 新增了对 QML 单例类型的全面支持,包括一个新的
\qmlsingletontype命令、对QML_SINGLETON宏的自动检测,以及对 QML 文件中pragma singleton的识别。 - QDoc 现在完全支持 QML 模块别名(
import ... as ...语法),包括链接、限定标识符的语法高亮,以及对anchors.fill等属性表示法和Component.onCompleted等附加属性的正确标记。 - 您可以使用新的
\toc/\endtoc和\tocentry命令,在文档源文件中指定分层目录结构。QDoc 会生成<project>_toc.xml文件,用于导航侧边栏。 - \overload 命令现在支持一个可选参数。使用
\overload primary语法来指定重载集中的主函数。 - QDoc 现在会为重载的信号和槽生成上下文相关的连接示例。
includeprivate配置变量可启用对私有C++成员的文档记录。纯虚函数现在将无条件地生成文档。- C++20 概念:QDoc 现可提取并显示函数和类模板的 C++20 requires 子句。同时支持模板头约束和尾部约束的位置。
- \code 命令现在接受一个可选参数,用于指定代码块的编程语言。使用“text”可禁用语法高亮。
\meta keywords参数将自定义关键字作为 HTML<meta>元素添加,以优化搜索引擎排名并便于后续处理。- 现在支持使用“attached”链接准则显式链接到 QML 附加属性,当常规属性名与附加属性名发生冲突时,可消除歧义。
- 包含两个以上参数的模板声明现在以多行格式呈现,以提高可读性。HTML 输出使用
template-blockCSS 类进行自定义样式设置。 - QDoc 现在会对使用
Q_PROPERTY声明的未记录 C++ 属性发出警告,以确保所有 API 元素的文档覆盖范围一致。 - QDoc 现在会对
\sa命令中的自引用发出警告,即文档链接到其自身的情况。 - 配置变量 `
logwarnings` 可使 QDoc 将所有警告写入 `<project>-qdoc-warnings.log` 文件。新的子选项 `logwarnings.disablecliargs` 可省略日志头中的 CLI 参数,以生成可移植的日志。 - 对于多模块构建,QDoc 警告现在会包含项目名称前缀。
- 配置改进:
codelanguages: 指定了\code 代码块中支持的额外编程语言,允许文档包含没有内置语法高亮标记的语言代码。imagesoutputdir: 为图像设置自定义输出子目录,以解决多模块构建中的文件名冲突问题。internalfilepatterns: 根据文件/路径名称模式(例如 `*_p.h`)自动将类标记为内部类。projectroot: 设置用于将警告日志中的绝对路径转换为相对路径的根目录,从而提高在不同构建环境间的可移植性。也可通过QDOC_PROJECT_ROOT环境变量进行设置。
- 格式化命令现可在
\title参数中使用,\generatelist在Qt Help项目的目录结构中可正常工作,且\qmlenum中支持自定义枚举前缀。 - QML 和 C++ 成员文档的 HTML 结构已统一。此更改在 QDoc 的 HTML 输出中引入了新的 CSS 类(
qml-member、qml-property、qml-method、qml-property-group)。 - 代码解析:改进了作用域枚举的解析、带循环检测的 QML 继承处理,以及在索引文件中正确保留声明的类型和变量信息。
- 新增对 LLVM/Clang 21 的兼容性,支持的最低版本更新为 17.0.6。
\tableofcontents命令已正式弃用。
Qt Linguist
- 新增了标签功能,可将基于 ID 的翻译分类为有意义的组,且不会影响运行时行为。更多详细信息请参阅基于文本 ID 的翻译文档和博客文章。
- 在文档中添加了新的国际化(i18n)示例。
- 为Qt Linguist 添加了 AI 翻译功能,支持使用大语言模型 (LLM) 进行自动翻译。更多详情请参阅AI 翻译文档和博客文章。
- 新增了 ltext2id 可执行文件,用于将项目从基于文本的翻译迁移至基于 ID 的翻译。详情请参阅《使用 ltext2id》。
- 新增了 lcheck 可执行文件,用于对 TS 文件进行批量验证。更多详情请参阅《使用 lcheck》。
- 在 lupdate 解析器中增加了对 C++ 属性的支持
- lupdate 解析器中已弃用 //= 元字符串。
- 已弃用用于直接处理 .pro 文件的
lupdate -pro选项。请改用lupdate-pro。 - 移除了 lprodump 可执行文件。其功能现可通过
lupdate-pro -dump-json选项实现。
平台变更
构建系统变更
- 新增了 -generate-vcpkg-manifest 配置选项。该选项会在构建目录中生成一个 vcpkg.json 文件。若仅需生成清单文件而不配置 Qt,请使用 -generate-vcpkg-manifest -dry-run 参数运行 configure。
- 使用 -vcpkg 进行配置时,会在构建目录中生成一个 vcpkg 清单文件,并将 VCPKG_MANIFEST_DIR 设置为构建目录以使用该清单文件。您可以使用 -no-generate-vcpkg-manifest 关闭清单生成功能。 您可以通过向 `configure` 传递 `
-- -UVCPKG_MANIFEST_DIR` 来禁用清单目录的设置。 - 除了现有的 SPDX 格式外,还增加了对生成CycloneDXSBOM 文档的支持。要启用 CycloneDX 生成,请使用
-sbom -sbom-cyclonedx-v1_6 -sbom-cyclonedx-v1_6-required配置 Qt。
桌面平台
Windows
- 通过QOperatingSystemVersion 添加了对 Windows 11 25H2(Build 10.0.26200)的支持和检测。
- 对顶级窗口和焦点进行了多项辅助功能改进。
- 改进了刷新率更新的处理。
- 在使用 Visual Studio 2026 时,新增了对ARM64EC的实验性支持。要使用此配置,请将
/arm64EC添加到CFLAGS中,并将/arm64EC和/d2arm64ECMarkAllFuncsPatchable添加到 Windows on ARM 机器上的CXXFLAGS环境变量中,然后照常配置和构建 Qt。
Linux
- Wayland 插件新增了服务器端按键重复功能、优先使用服务器端装饰效果、对
xx-session-management-v1的实验性支持,以及大量稳定性修复(弹出窗口、滚动、屏外表面、剪贴板)。 - 已移除 XCB 的旧版 X11 本机绘制引擎(XRender)。若要使用该引擎,需在编译时通过 CMake 选项(
-xcb-native-painting)启用,并在运行时通过环境变量QT_XCB_NATIVE_PAINTING进行启用。 - 通过添加对 AT-SPI Collection 接口的支持,增强了辅助功能。该接口为从应用程序的辅助功能层次结构中检索可访问对象提供了更高效的机制。该接口还使 Orca 屏幕阅读器能够支持浏览模式。
- XKB:扩展了Qt::Key_Call /Qt::Key_Hangup 的键映射功能。
macOS
- 沙盒化应用程序现在可以访问应用程序沙盒外的文件(即所谓的安全范围资源),并可进行读写操作。用户通过文件对话框或类似的原生机制选择的文件或文件夹会自动且透明地处理,包括在应用程序和设备重启后的持久访问。
- 新增了QNativeInterface::QCocoaScreen 用于访问底层的 NSScreen。
- CGImageRef 与QImage 之间的转换现支持更广泛的图像格式,包括对 HDR 内容至关重要的QImage::Format_RGB30 及浮点格式。
- Apple 图标引擎现在会遵循绘制器的布局方向,如果 SF Symbols 图标集中有 RTL 专用图标,则会生成相应的图标。
- 通过原生“打开/保存”面板选择的文件路径现已进行 NFC 规范化处理,确保无论文件系统是否以 NFD 形式存储文件名,都能保持文件名比较的一致性。
移动平台
Android
Qt for Android
- Qt Jenny 现在支持在 C++ 中实现 Java 接口和扩展 Java 类。
- 支持 Play 商店的“功能交付”功能。
- 支持 Android 16。
- 已更新至 Gradle 9.3.1 和 Android Gradle Plugin 9.0.0。
- 已更新至 JDK 21 LTS,并将兼容性下调至 JDK 17 LTS。
Qt Quick 适用于 Android
- 添加了 QtQuickView.invokeMethod(),用于从 Java/Kotlin 调用 QML 函数。
- 支持在 QML 视图加载之前注册信号。
iOS
- 在平台主题中增加了对文件图标的支持。
- 新增对 `QFileOpenEvent ` 的支持,用于外部请求打开文件。
- 沙盒应用程序现在可以访问应用程序沙盒外的文件(即所谓的安全范围资源),进行读写操作。用户通过文件对话框或类似的原生机制选择的文件或文件夹将得到自动且透明的处理,包括在应用程序和设备重启后的持久访问。
- 新增对原生保存对话框的支持。
嵌入式平台
Linux
- EGLFS/KMS 现在支持运行时显示器的热插拔和热重载(由
QT_QPA_EGLFS_HOTPLUG_ENABLED环境变量控制)。 - 新增了一个基于 ConnMan 的QNetworkInformation 后端。
- DirectFB:已添加Qt::Key_Call 映射。
Boot to Qt
- 新的Tier 2 平台:
- NXP i.MX 8M Plus LDDPR4 EVK
- Toradex i.MX 95 Verdin
- 高通 RB3 Gen2 视觉开发套件
Web 平台
WebAssembly
- Qt Positioning 已为 GeoLocation API 提供了后端支持。
- 使用新的
wasmdeployqt工具来部署和发布动态链接的Qt for WebAssembly应用程序。这取代了之前的preload_qt_plugins.py和preload_qml_imports.pyPython 脚本。
API 变更列表
以下页面概述了 Qt 6.11 中的 API 变更:
已知问题
有关 Qt 6.11 中已知问题的信息,请参阅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.