Qt 6.9 正式发布:Emoji 处理能力升级、性能优化


Qt 6.9现已全面推出,为应用开发者和设备制造商带来诸多新特性与改进!

作为亮点之一,升级至Qt 6.9可将现有应用的Emoji渲染提升至最新标准,支持Qt Quick 3D的无序透明渲染(Order Independent Transparency),大幅增强对现代OAuth2需求的适配能力,并在全平台设备上新增多项性能优化功能。

此外,新增的 API 和新功能也全面提高了开发灵活性和工作效率。

核心亮点速览:

1. Qt Graphs: 更强大的可视化效果

3D图表渲染能力显著增强,新增对Surface3D透明度的支持,引入QSpline3DSeries以渲染3D样条数据,并提供更多图表、坐标轴与标签的自定义选项。现在,将图表嵌入Qt Quick 3D的View3D中变得轻而易举,从而在3D场景中实现极具表现力的数据可视化。

2D图表的输入处理现已支持灵活自定义,QGraphsView可配置plotArea以精细控制图表渲染的矩形区域,细化图形渲染矩形的定位。

请阅读博客《Qt Graphs 6.9新功能详解》,深入了解Qt Graphs的改进。

2. Emoji处理能力升级

Emoji是全球最流行的书写系统之一,且其规范持续演进。自Qt 5.2添加彩色字体支持以来,Emoji领域已发生诸多变化,Qt 6.9正迎头赶上。

Qt现能自动检测文本中的Emoji序列,并根据Unicode规范按需选用正确的彩色字体。开发者可对此过程进行控制:禁用解析、在源码编译时完全排除Emoji分割器,或通过QFontDatabase的新API为Emoji指定特定的字体系列。目前Emoji支持的字体格式包括CBDT 和COLRv1,可实现跨平台高质量缩放渲染。

左:COLRv0,右:COLRv1

请阅读博客,纵览Emoji发展史及Qt 6.9的支持详情。

3. 扩展的客户端区域和安全区域

现代桌面和移动设备上应用设计的核心理念是内容至上——应用与系统UI元素以非侵入方式无缝融入内容。Qt 6.9通过Qt.ExpandedClientAreaHint窗口标志及Qt Quick的SafeArea附加属性引入新API,支持此类设计需求。结合使用这些API,应用内容可充满整个窗口或屏幕边缘,同时避开关键系统UI元素。

请阅读博客,获取此新功能的更多细节。

4. SVG CSS动画

Qt的SVG模块现已在SVG光栅化为像素图序列时,支持对颜色、填充、描边和形变的CSS动画的初步实现。同时,Qt 6.8中引入了VectorImage ,借助VectorImage,动画SVG现在可以直接渲染到Qt Quick场景图中。

由浏览器渲染

由 Qt 渲染

5. 性能优化特性

每个Qt版本均致力于简化跨平台设备的性能优化应用开发。除代码改进外,Qt 6.9新增对平台或图形子系统新特性的支持。

现代CPU架构普遍包含性能核与能效核,QThread现在可以设置执行任务时偏好的CPU核心类型。

在支持OpenGL平台上使用QQuickPaintedItem的用户可以再次使用FramebufferObject作为渲染模式,从而在硬件加速和命令式绘制阶段受益。

OpenGL ES RHI后端在可用时会利用多重采样渲染扩展,提升现代GPU架构上Qt Quick与Qt Quick 3D HMI的渲染性能。

在Windows平台上,Direct 3D RHI后端通过专用的垂直同步监视线程(vblank)驱动刷新,降低CPU负载与延迟。显著改善拖拽等UI交互操作的响应速度。

除OpenGL外,其他RHI后端现支持可变速率着色(Variable Rate Shading),为visionOS上的Qt Quick 3D XR提供动态注视点渲染支持。

Qt Quick新增的RectangularShadow元素以及Qt Quick 3D中阴影贴图边界控制的改进,使UI开发人员能够优化阴影和光晕效果的使用,避免高昂计算开销。

使用Qt项视图(Item Views)开发的Widget应用程序可以在处理数据频繁批量变更的模型时进行调优性能;而且只要禁用段的大小调整(resizeSection)和重新排序,QHeaderView的内存占用就会得到显著优化。

6. 无序透明渲染(Order Independent Transparency)

Qt Quick 3D现在支持 "无序透明渲染"(Order Independent Transparency),无需手动按深度排序透明物体即可渲染。虽然这需要一定的计算和内存成本,但可消除因排序不当(尤其是物体交叠时)而导致的视觉错误。我们已经在Qt Graphs中使用这种技术来渲染半透明表面图,但其同样适用于任何模型(包括实例化)。

Qt 6.9支持加权混合(Weighted Blended)技术,在成本、性能与精度间实现良好平衡。

7. 连接功能焕新

在Qt 6.8以及Qt 6.9中,Qt网络授权(Qt Network Authorization)模块显著增强以满足现代OAuth2需求。值得注意的是,它增加了对 "设备授权许可"(Device Authorization Grant)的支持,便于输入能力受限设备(如电视与IoT设备)的用户认证。引入OpenID Connect中获取ID令牌的基础功能,使应用能访问用户身份信息。现在,该模块允许使用其他浏览器用户代理(包括使用Qt WebEngine)进行身份验证,提供更高灵活性。为优化令牌管理,新增访问令牌临近过期的信号提醒,并支持自动刷新令牌。此外,该模块还能区分请求域和授权域,确保应用能基于用户授权权限精准调整行为。

请阅读博客, 了解Qt Network Authorization新功能的完整细节。

尽管Qt HTTP Server设计用于可信环境,我们仍额外强化其安全性。现在可以通过QHttpServerConfiguration类型配置传入请求的最大数量,从而防止DoS (Denial-of-Service) 攻击,暴力破解攻击或爬虫攻击。HTTP/2客户端可通过QHttp2Configuration控制并发流的最大数量。

8. Qt Quick开发者体验

Qt Quick开发者将受益于更佳工具支持与新功能。QML语言服务器现提供大纲视图,助力IDE与编辑器展示QML文档结构的层次化呈现(包括对象、属性与方法)。

新增ContextMenu组件,开发者可轻松地将上下文菜单附加到项目上(响应右键点击等平台特定事件)。此外,TextField与TextArea现提供默认上下文菜单(除非指定自定义菜单)。

最后,OpenXR新增了Metal后端支持,允许应用在 macOS上的Meta XR模拟器中运行。

9. 升级到Qt 6.9

Qt 6.9在现有Qt 6.8 LTS版本基础上新增诸多改进与特性,保持与所有Qt 6版本的二进制与源码兼容性。经过Beta包广泛测试与大量用户反馈,我们确信升级至Qt 6.9以利用这些改进将顺畅无阻。有关新的API的完整列表,请参阅我们的文档。衷心感谢所有贡献者!您可以在发布说明(https://code.qt.io/cgit/qt/qtreleasenotes.git/about/qt/6.9.0/release-note.md)的末尾查看为Qt源代码提供补丁的所有社区成员的完整名单。

10. 仍在使用Qt 5?

Qt 5.15的标准商业支持将于2025年5月26日结束。支持期结束后,该版本将进入EoS(支持终止)状态,仅通过Qt 5.15扩展安全维护(ESM)等附加服务提供支持。

了解有关Qt 5.15标准支持终止和ESM的更多信息。

11. 在线试用 Qt 6

现可通过浏览器直接体验Qt 6,无需安装。只需浏览try.qt.io即刻探索!

12. 针对Python的Qt 6.9

期待Qt for Python更新?Qt for Python 6.9也已发布!

原文:https://mp.weixin.qq.com/s/TWVjq768sQukRl6evbFRdQ


相關推薦

2024-08-13

更强的操作系统。 最后,告诉大家一个好消息,deepin V23正式版将于8月15日发布,更多精彩功能,更多创新性AI应用,敬请期待! 相关阅读: (1)deepin 全版本镜像(含 deepin V15) (2)deepin 版本规划 (3)deepin V23 正式版

2025-04-19

LXQt 2.2 已正式发布,成为这款轻量级开源 Qt 桌面环境的最新稳定更新。 LXQt 2.2 以之前 LXQt 版本中已实现的 Wayland 支持为基础。LXQt 2.2 不仅提升了 Wayland 的多屏支持,还进行了其他一些功能改进,以便在 X11 继续正常运行的同

2023-09-13

近日,深度 deepin 宣布 deepin DTK(Development ToolKit)已正式适配 Qt6(6.4.2),实现全面升级。 DTK 作为 deepin 基于 Qt 开发的一整套简单且实用的通用开发框架,处于 deepin 操作系统中的核心位置,此次成功适配意味着 deepin 操作

2024-10-21

,还对软件的底层架构进行了深入改进。Typst 0.12 版本的发布标志着该排版工具的进一步成熟,也让开发者和文档创作者们能够以更高效的方式处理复杂的排版任务。 持续创新的 Typst 自 2019 年推出以来,Typst 一直致力于打造一

2022-04-02

件工程师、中小学生、数据分析师这... OpenHarmony 3.1 已正式发布。 当前版本在 OpenHarmony 3.1 Beta 的基础上,更新支持以下能力: 标准系统基础能力增强 本地基础音视频播放能力、视频硬编解码、相机基础预览、拍摄能力。 Rende

2023-06-15

更新比较频繁,6 月才过一半就发了三个新版本。 昨天发布的 Bun 0.6.9 进一步优化了性能,包括降低Bun.serve()的内存使用。据称使用 Bun 的 HTTP 服务器发送字符串可使用更少的内存。开发者提供的数据对比如下(用 12 MB 的字符

2024-01-11

Bun 1.0.22版本终于面世了!这个小巧玲珑的JavaScript运行时可谓是编程界的“黑马”,短短一年多时间就以其独特的魅力吸引了众多开发者。这一次的更新再次印证了Bun背后的团队充满激情与执着,他们一如既往地致力于让Bun成为J

2022-11-27

台软件,可以在 Linux、Windows 和 macOS 上运行。 Calibre 6.9 正式发布,此次更新内容如下: New features E-book viewer:将 highlights 导出为纯文本时,包括各级章节的标题,而不仅仅是第一级 Edit book: Reports:在报告的文件部分显示

2023-04-05

Qt 6.5 LTS 已正式发布。此版本为图形和 UI 开发者以及应用程序后端引入了许多新功能,还包含许多修复和通用的改进。Qt 6.5 将成为商业许可证持有者的长期支持 (LTS) 版本。 部分更新亮点: 改进主题和样式 使用 Qt 6.5,应

2023-04-18

深度操作系统(deepin)是一款致力于为全球用户提供美观易用、安全稳定服务的Linux发行版,也是全球排名领先的来自中国团队研发的Linux发行版。点击查看deepin全球排名:https://distrowatch.com/table.php?distribution=deepin deepin20.9版本

2023-10-10

等。 这一切,免费且灵动。 MyBatis-Flex 从今年的 3 月份发布第一个版本后,到今天为止,已经开源了 7 个月的时间。 在这 7 个月中,MyBatis-Flex 由于 极友好的 API 设计、无任何第三方依赖、轻量实现、免费且友好 等诸

2023-11-11

Qt for MCUs 2.6 已正式发布。 主要变化 新增适用于 Qt Quick Ultralite 的新 QML API 全新基准测试功能以性能作为核心 支持文件系统(技术预览阶段)   GHS MULTI IDE 集成汽车工具   支持 AUTOSAR Classic   公告写

2022-09-30

Qt 6.4 发布了。此版本包含 Qt HTTP Server 和 Qt Quick 3D Physics 等多个新功能,下面稍作介绍: WebAssembly 在 Qt 6.4 中,对 WebAssembly 的支持已不再局限于此前的 “技术预览”阶段,现在支持使用 Qt for WebAssembly 来构建针对 Web 平台的

2022-09-02

OBS Studio 28 现已发布,此版本标志着 OBS 成立 10 周年。这是一个重大更新版本,新增了许多重要功能和其他升级。其中包括: 10-bit 和 HDR 编码支持 目前只能使用 AV1 和 HEVC 编码器对 HDR 和 10-bit 色彩进行编码。10-bit H