
Qt 6.12版本现已推出,在网络安全、UI性能以及跨架构层的功能组合上都有显著提升。作为长周期支持版(LTS),Qt 6.12凝聚了网络安全、UI性能等技术栈各个环节的多项成果。一起来深入了解。
要点速览
本次发布包含了丰富的改进、错误修复和新功能。以下是我们的核心亮点速览。
跳至文末查看致谢与下载方式。
6.12是长周期支持版
Qt 6.12是长周期支持版(LTS)版本,意味着它将获得为期5年的维护支持。
网络安全与CRA合规
Qt 6.12符合欧盟《网络弹性法案》(CRA)的要求,这对在欧盟销售专有产品的企业特别有帮助。但为此进行的网络安全工作对超出该法案适用范围的用户同样受益。
全面的UI能力
新的加速型命令式绘制引擎Qt Canvas Painter已从技术预览版毕业。同时推出了新的QML Canvas2D类型以便于使用。
Qt Canvas Painter还提升了图表性能。
Labs中推出了一款新的StyleKit,供你试用。它让你能为同时使用Widgets和Qt Quick的混合应用创建统一的样式。
简化技术栈复杂度
C++ 容器辅助类QRangeModel获得多项改进,包括内置排序支持、拖拽控制、更快搜索以及进一步的定制能力。
QtGrpc模块在网络效率上有所改进,包括消息客户端压缩和限制传入消息大小。
QML热重载
热重载机制现已内置于QML引擎。它使你能在编辑QML代码时实时预览运行效果。
HarmonyOS平台支持
Qt 6.12正式支持HarmonyOS作为长周期支持(LTS)平台,为开发者带来与其他主要平台相同的稳定性、维护和支持保障。
其他改进
还有诸多其他改进,例如在Qt Quick、WebAssembly和资源减量上的优化。
观看发布亮点视频
在这个简短的总结中,Maycon回顾了自上一个LTS版本以来的两年间Qt框架的主要更新:
5年维护周期的长周期支持
Qt 6.12是长周期支持(LTS)版本。Qt LTS版本旨在在五年的维护周期内提供稳定性和可靠性。对于开发专有软件的企业来说特别有价值;多个LTS版本可以重叠存在,让你能有计划地分阶段升级到新版本。
每2年发布一个新的Qt LTS版本,现在6.12是最新的。

了解更多Qt LTS版本信息:qt.io/development/qt-framework/qt-lts
更安全的产品
对于向欧洲市场销售专有产品的企业来说,符合新的欧盟《网络弹性法案》(CRA)变得紧迫。但为实现法规合规而进行的网络安全工作,同样惠及那些不在CRA适用范围内的开发者。
超越法规的网络安全
除却法规要求外,Qt 6.12 LTS还提供多项改进以帮助你构建更安全的软件。该版本不含已知可利用的漏洞,并默认安全,同时提供持续的安全更新、新的漏洞披露流程,以及为商业客户保证的响应时间(SLA)。安全关键项在Qt源代码文件中被标注,安全测试信息公开共享。此外,我们承诺集成最新的第三方库。
关于第三方依赖,也可以观看Maurice的视频,了解依赖项如何增加软件栈复杂度以及为什么其风险比你想象的更大。
Qt 6.12符合CRA要求
商业版Qt 6.12 LTS现已符合欧盟《网络弹性法案》(CRA)的要求,让你能按时准备好合规的产品。CRA的第一个截止日期已于9月11日通过,最终截止日期也即将到来。该法规对内部流程、法律评估以及产品相关方面提出了许多要求。
Qt 6.12的构建满足CRA目前已知将于2027年12月生效的要求。在后续的维护版本中,我们将继续确保6.12版本在整个5年支持期内符合该法规。这不仅让你能按时准备好产品,还提供了一个可长期依赖的基础。Qt 6.12附带CRA合规声明,这并不会使你的产品自动符合CRA要求(你仍然需要自行完成CRA认证),但确实为你的产品中Qt部分提供了许多现成的支持。
此外,Qt框架还帮助你满足CRA的技术特性要求,如默认安全的认证与验证、软件物料清单(SBOM)以及安全设计软件。
了解更多关于Qt 6.12如何显著减少你的CRA相关工作与风险:
Qt 6.12与CRA合规:Qt Group首个正式申报版本
Qt助力更轻松实现《网络弹性法案》合规
全面的 UI 能力
我们的UI框架持续引入新能力以创建现代用户界面。过去几年中新增了多个Qt Quick控件,如Safe Area、Context Menu、Search Field和Double Spin box,以及一个新的布局类型Flexbox。我们还扩展了Vector Image模块,为SVG和Lottie文件提供了更多属性和动画支持。
在全新功能方面,我们一起来深入了解新的加速型命令式绘制引擎和便于使用的QML Canvas2D类型,以及它如何改进图表性能。此外,我们诚邀你试用我们的新StyleKit 。
Qt Canvas Painter已正式推出:高性能绘制的新方式
在Qt 6.11作为技术预览版在今年早些时候推出后,我们收到了大量宝贵的反馈。这个命令式绘制API为C++ 和QML提供了基于GPU硬件加速的渲染能力,可使用着色器实现丰富的高性能视觉效果 —— 这显然是Qt长期以来缺失的功能。在Qt 6.12中,经过大量优化工作、API改进和功能补完,我们将该模块的核心API推出正式版。它已可用于C++ 和QML开发者的生产环境,我们期待看到你们创建的作品。
最重要的新增是Canvas2D元素。Canvas2D API是基于HTML Canvas的设计模式,让你可以通过JavaScript来定义绘制形状,然后由Qt Canvas Painter通过Qt的渲染硬件接口(QRhi)在GPU上高效渲染[注:在QML环境中运行,非浏览器JavaScript]。Canvas2D是Qt Quick Canvas元素的重大架构升级和现代替代方案。

作为全新API,Canvas2D元素及其配套的C++ 类QCanvasCustomBrush仍处于技术预览版阶段。
阅读更多关于Qt Canvas Painter的内容,详见Kaj的博客:
博客 | 2D渲染——Qt Canvas Painter简介 (Qt 6.11)
博客 | Qt新增的画布渲染功能(Qt 6.11)
博客 | 加速2D Canvas基准测试 (Qt 6.11)
https://www.qt.io/blog/canvas2d-new-qml-canvas-element-using-qt-canvas-painter (新增)
https://www.qt.io/blog/canvas2d-watchui-demo (新增)
图表功能进化:灵活性与高性能
Qt Graphs也获得了多项改进。应社区需求,我们为Graphs2D功能添加了对数坐标轴,以及更多坐标轴标签定制选项。内置缩放和平移交互使最终用户操作变得更容易,同时性能和可用性也有多方面提升。
针对高性能场景,特别是在可视化大量快速变化的数据时,我们实现了基于CanvasPainter的2D图表渲染后端,目前可通过配置时的选项启用。在将其设为默认值之前,我们要确保它足够稳定,因此期待你在使用这个后端时提供的反馈。
StyleKit已在Labs中可用:欢迎试用
新的StyleKit模块同时解决了多个问题:为同时使用Widgets和Qt Quick的混合应用创建统一样式;以现代、设计系统友好的方式实现,能与Figma等工具中的定义方式清晰映射;UI组件结构与可样式化属性的清晰分离,使你能轻松定义深色、浅色和高对比度主题,而无需重复指定"按钮是带标签的矩形"这类细节。
Qt StyleKit提供了基于QML的样式API,让你从单一源头(配置几何尺寸、颜色等属性值对)为Widgets和Qt Quick双方应用样式。

得益于属性传播机制,使用StyleKit定义样式能大大避免重复;同时利用成熟的QML属性动画技术,可轻松定义控件与组件状态间的平滑过渡。对主题、控件变体和自定义控件扩展的支持,使StyleKit成为定义复杂用户体验设计的强大方案,能在不同设备、系统配置以及用户偏好下均呈现良好效果。
在相关论坛讨论中了解更多详情并分享你的想法:https://forum.qt.io/topic/165049/stylekit
简化技术栈复杂度
除了UI以外,我们在整个架构层面都在努力提升效率、降低复杂度。我们在不断寻找新方式,让你能更容易地整合旧代码与新代码,在架构层、API、工具乃至从桌面到MCU的不同平台上复用你已掌握的知识。以下是6.12发布的核心亮点。
QRangeModel
QRangeModel在Qt 6.10中推出,之后在Qt 6.11中再获改进,在本次发布中继续优化。简而言之,QRangeModel是一个辅助类,能将常规的可迭代C++ 容器转换为Qt模型/视图框架能轻松显示的类型。
Qt 6.12新增的功能包括内置排序支持,让模型能直接排序其数据而无需额外的类;新增属性来控制允许的拖拽操作类型及操作时现有数据的处理方式;match() 方法的搜索性能提升;针对表头数据和逐行/逐项行为的进一步定制选项——这些构成了本次发布的主要改进。
gRPC
QtGrpc模块在6.12中的重点是网络效率。消息客户端压缩功能让你能选择和应用可用的压缩算法以节省通信带宽。此外,你现在也可以限制服务器传入消息的大小,保护客户端免受意外大型或畸形响应的冲击。
其他重要改进
虽然改进内容众多,但我们这里重点关注QML热重载和对新平台HarmonyOS的支持。
QML热重载:编辑中实时看到效果
QML引擎已扩展以原生支持热重载机制,qmlpreview工具也已重构以使用它。这使你能在IDE中实时预览运行的QML代码,在你编辑时直观看到修改对UI的影响。
热重载在Qt Creator和命令行工具qmlpreview中均可用。
想了解QML热重载的更多细节、工作原理和未来规划,可阅读Ulf的博客:
https://www.qt.io/blog/hot-reload-in-qt-6.12
HarmonyOS 平台支持
从Qt 6.12起,Qt正式支持HarmonyOS作为长周期支持(LTS)平台,为开发者提供与其他主要平台相同的稳定性、维护和支持保障。这进一步强化了Qt的跨平台特性;现有Qt应用可直接扩展到HarmonyOS而无需重新架构代码,大幅减少开发时间,加快上市速度。
HarmonyOS在中国已覆盖从物联网、汽车到PC和平板等多种设备类别,Qt的支持为生态打开了双向大门:中国的Qt应用能够接触到全球受众,而进入中国市场的企业也获得了一条经过验证、有LTS保障的进入华为平台的途径。
还有哪些新增?
上文列举了Qt 6.12的部分主要新增功能。在《Qt 6.12新增功能》文档中,你会找到更多内容,如新的QtQuick.Controls.Native样式、Qt Quick 3D Physics的额外关节类型、WebAssembly音视频改进,以及资源编译器(rcc)中通过内容去重带来的更小的编译资源。
致谢
Qt 6.12是Qt社区众多人员共同努力的结果,我们感谢所有的贡献者。所有为本次发布提交代码的贡献者名单列在发布说明末尾。
代码只是产品发布的一部分。缺陷报告、功能请求、以及对测试版和技术预览版的反馈都塑造了Qt 6.12。感谢所有花时间分享这些的人,也要特别感谢幕后为发布付出努力的每一位!
立即更新
如往常一样,新版本可通过Qt安装程序获取。你也可以通过我们的官网或Qt Account页面下载Qt 6.12 LTS。
END
往期推荐
Qt智能体式开发工具全解析:MCP服务与Agent Skills如何为Qt开发提效
博客|Qt Canvas Painter:路径加速性能
博客 | 加速2D Canvas基准测试



