MGI Qt开发人员已经发布了第一个版本的 新分支测试 Qt 6,其中将提出重大的体系结构更改,并且将需要支持C ++ 17标准的编译器。
对于部分 主要变化,首先要强调的是 3D独立抽象图形API 操作系统。 这是新的Qt图形堆栈的关键组件,它是一个场景渲染引擎,它使用RHI(渲染硬件接口)层使Qt Quick应用程序不仅可以与OpenGL一起使用,而且还可以与3D API一起使用。直接的。
对于Qt Quick 3D模块 它允许您使用QML定义3D接口元素,而无需使用UIP格式, 现在可以使用运行时 (Qt Quick), 场景布局和动画帧,并使用Qt Design Studio进行界面的可视化开发。
模块 解决了集成QML时的高开销等问题 包含来自Qt 3D或3D Studio的内容,并提供了在2D和3D之间同步各个帧级动画和变换的功能。
另一个重要的变化是重组代码库 将其分成较小的组件并减小基本产品的尺寸。 开发人员工具和专用组件将作为插件提供,并通过Qt Marketplace分发。
另外, 我知道QML的重大现代化脱颖而出:
- 强大的打字支持。
- 能够将QML编译为C ++ 和机器代码。
- 全面支持JavaScript转移 选项类别(使用功能齐全的JavaScript引擎会占用大量资源,从而导致无法在微控制器等设备上使用QML)。
- 拒绝QML中的版本。
- 统一在QObject和QML中重复的数据结构 (这将减少内存消耗并加快启动速度)。
- 避免在运行时生成数据结构,而应在编译时生成。
- 通过使用私有属性和方法隐藏内部组件。
- 改善整合 与开发工具一起重构和诊断编译期间的错误。
- 加 在编译阶段处理图形相关资源的工具例如,将PNG图像转换为压缩纹理或将着色器和网格转换为针对特定计算机优化的二进制格式。
- 整合主题和样式的统一引擎 它使您能够实现基于Qt Widgets和Qt Quick的应用程序的外观,这些应用程序是针对不同的移动和桌面平台的。
另外, 作为构建系统,决定使用CMake代替QMake。 将维持对使用QMake构建应用程序的支持,但将使用CMake构建Qt。
之所以选择CMake,是因为该工具包在C ++项目开发人员中得到了广泛使用,并且与许多集成开发环境兼容。 社区继续开发Qbs构建系统,该系统声称是QMake的替代品。
在开发过程中过渡到C ++ 17标准(以前使用的C ++ 98)。 Qt 6计划实现对许多现代C ++功能的支持,但又不会失去与旧版基于标准的代码的兼容性。
在C ++代码中使用为QML和Qt Quick提供的某些功能的可能性。
特别是, 将为QObject引入新的属性系统 和类似的课程。 QML的绑定引擎将集成到Qt内核中,从而减少了绑定程序的负载和内存消耗,并使绑定程序可用于Qt的所有部分,而不仅仅是Qt Quick。
此版本仅包含计划于6年1月2020日发布的未来Qt XNUMX版本的初始框架。
Qt 6分支中的功能将得到扩展,直到代码库在31月XNUMX日冻结为止。
数据来源: https://www.qt.io
哇,它已经使我想完善我的C ++