Qt 公司发布了 Qt 6.6 框架,该框架延续了 Qt 6 分支的稳定性和功能扩展工作。Qt 6.6 为以下平台提供支持: Windows 10+, macOS 11 +, Linux (Ubuntu 22.04、openSUSE 15.4、SUSE 15 SP4、RHEL 8.6/9.0)、iOS 14+、 Android 支持 8+(API 23+)、webOS、WebAssembly、INTEGRITY 和 QNX。Qt 组件的源代码采用 LGPLv3 和 GPLv2 许可协议。
Qt 6.6 的主要变化:
- Qt Quick 模块为自适应界面布局提供实验性支持。 为了根据窗口大小动态更改界面布局并考虑当前布局的结构自动放置元素,提出了 LayoutItemProxy 类,并且 Qt Quick Layouts 模块提供了对元素排列的布局使用统一单元格大小的功能在网格、行和列中。

- Qt Quick 在 QML 类型的 TableView 中添加了对选择模式(selectionMode 属性)的支持(例如,您可以控制单元格、行、列和单元格集的选择),并提供了更改 rootIndex 属性的功能,在QML类型TreeView中,扩展了对滚动条(滚动)设计的控制(减速),在Flickable QML类型中,实现了文件路径的自动缩短。 提供从 QML 到权限管理 API 的访问。
- 添加了一个实验性的 Qt Graphs 模块,旨在提供一个通用模块,用于可视化大量快速变化的数据并生成各种类型的图表。 该模块正在开发中,作为旧版 Qt DataVisualization 模块(基于 OpenGL)和 Qt Charts 模块的通用替代品。 该模块仍在开发中,目前专注于在 Qt Quick 3D 之上重现 Qt DataVisualization 的功能,并使用支持各种 3D API(OpenGL、Vulkan、Metal 和 Direct 3D)的新渲染引擎(RHI,渲染硬件接口) 。

- Qt Multimedia 模块添加了一个 QWindowCapture 类,用于捕获各个窗口的内容,补充了上一版本中引入的 QScreenCapture 类,该类仅限于捕获整个屏幕。 QWindowCapture 提供了可用于捕获的窗口列表,并可在应用程序中用于共享窗口。 除使用 Wayland 协议的系统外,所有平台上都支持使用 FFmpeg 后端进行窗口和屏幕捕获。
- QMediaRecorder 类中添加了属性来控制视频质量、分辨率和比特率。
- Qt GRPC 和 Qt Protobuf 模块已扩展,允许访问 gRPC 服务并使用 Protocol Buffer 协议序列化 Qt 类。Qt GRPC 新增了 QGrpcChannelOptions 和 QGrpcCallOptions 选项,以简化通道和调用配置,并限制调用或线程的最大执行时间。此外,还新增了 QGrpcMetadata 选项,用于客户端设置元数据和读取客户端返回的元数据。 服务器Qt GRPC 现在集成了 QML 类型支持,可自动生成 QtGRPC 客户端类。Qt Protobuf 现在允许在 *.proto 模式中包含一些 Qt Core 和 Qt GUI 类型,并通过 QProtobufMessage 类提供对 QML 上下文的访问。此外,还添加了对 google.protobuf.Any 和 oneof 类型的支持。
- Qt WebEngine 模块中添加了一个 API,用于访问隐私和安全设置,这允许您禁用浏览器引擎的某些功能。 例如,使用 QWebEngineUrlScheme::FetchApiAllowed 和 QWebEngineSettings::DisableReadingFromCanvas 属性,您可以禁用 Fetch API 和 Canvas 元素的渲染,以降低被动识别的风险。 添加了对内部 URL“chrome://qt”的支持,打开该 URL 时会显示一个页面,其中包含有关所用 Chromium 引擎版本的信息。
- Qt Sql 模块中添加了支持 Mimer SQL DBMS 的插件,并且扩展了 MySQL 和 MariaDB DBMS 驱动程序中的连接设置。
- Qt PDF 模块提供了用于访问链接、页面缩略图和选定页面的类。
- 在 Qt Quick 中,Font 类型实现了一个新的 API,用于 OpenType 字体中字形布局(形状)的高级配置。 可以使用 Qt Quick Shapes 模块通过片段着色器高质量绘制直线和曲线。

- 我们已经完成了记录 RHI(渲染硬件接口)渲染引擎以及稳定与其相关的低级 API 的工作。 RHI 的向后兼容性级别现在将遵循 Qt 平台抽象 API,允许 RHI 直接用于开发可与所有流行图形堆栈和图形 API(OpenGL、Vulkan、Metal 和 Direct 3D)配合使用的跨平台低级代码。
- Qt Quick 3D 模块中添加了对基于 QML 多边形网格的纹理和几何图形程序创建的支持。
- Qt TextToSpeech 模块现在能够生成 PCM(脉冲编码调制)数据,以进一步处理合成语音(以前仅支持直接输出到音频设备)。 提供了额外的文本分段设置,添加了 API 来搜索所需的语音,并添加了 API 来确定可用的引擎功能。
- Qt for Python 模块集提供了使用 Qt 在 Python 中创建图形应用程序的工具,并添加了对使用 asyncio 的异步操作的支持。 Qt for Python 现在与基于 AArch64 架构的设备兼容。
- Boot2Qt 堆栈已更新,可用于创建具有基于 Qt 和 QML 的环境的可启动移动系统。 Boot2Qt中的系统环境已更新至Yocto 4.2平台(Mickledore)。 目前正在为 NXP 板和瑞萨 R-Car 设备提供现成的 Boot2Qt 组件。
- 添加了平台支持 Android 13. 在平台上 Windows и Linux 改进了对 ARM 架构的支持。与项目维护者合作完成。 Debian 该发行版的标准存储库包含适用于 Qt 6 的软件包。 Debian 11和 Debian 12,Qt 公司仓库中也有包含 Qt 6.6 商业组件的软件包。 Debian.
- WebAssembly 平台的开发工具已得到改进,允许您创建在 Web 浏览器中运行并可在不同硬件平台之间移植的 Qt 应用程序。 借助 JIT 编译,为 WebAssembly 平台构建的应用程序可以以接近本机代码的性能运行,并且可以使用 Qt Quick、Qt Quick 3D 和 Qt 中提供的可视化工具。 由于支持动态链接(WebAssembly 应用程序现在可以提供共享 Qt 库和插件),新版本简化了 WebAssembly 应用程序的调试并改进了该平台的维护。
来源: opennet.ru



