Qt 6.0 Alpha 版本可用

Qt公司 宣布了 关于翻译线程 Qt 6 进入 alpha 测试阶段。 Qt 6 包括重大的架构更改,并且需要支持 C++17 标准的编译器来构建。 发布 概述 截至 1 年 2020 月 XNUMX 日。

钥匙 产品特点 Qt 6:

  • 独立于操作系统的 3D API 的抽象图形 API。 新 Qt 图形堆栈的一个关键组件是场景渲染引擎,它使用 RHI(渲染硬件接口)层不仅通过 OpenGL,而且还基于 Vulkan、Metal 和 Direct 3D API 为 Qt Quick 应用程序提供支持。
  • Qt Quick 3D 模块,带有 API,用于创建基于 Qt Quick 的用户界面,结合 2D 和 3D 图形元素。 Qt Quick 3D 允许您使用 QML 定义 3D 界面元素,而无需使用 UIP 格式。 在Qt Quick 3D中,您可以使用一种运行时(Qt Quick)、一种场景布局和一种2D和3D动画框架,并使用Qt Design Studio进行可视化界面开发。 该模块解决了将 QML 与 Qt 3D 或 3D Studio 的内容集成时开销较大等问题,并提供了在 2D 和 3D 之间帧级别同步动画和变换的能力。
  • 将代码库重组为更小的组件并减小基础产品的大小。 开发人员工具和专用组件将作为通过目录商店分发的附加组件提供 Qt市场.
  • QML 的重大现代化:
    • 强大的打字支持。
    • 能够将 QML 编译为 C++ 表示形式和机器代码。
    • 使完整的 JavaScript 支持成为一种选择(使用全功能的 JavaScript 引擎需要大量资源,这阻碍了 QML 在微控制器等设备上的使用)。
    • 拒绝 QML 中的版本控制。
    • 统一 QObject 和 QML 中重复的数据结构(将减少内存消耗并加快启动速度)。
    • 远离数据结构的运行时生成,转而使用编译时生成。
    • 通过使用私有方法和属性隐藏内部组件。
    • 改进了与开发工具的集成,以进行重构和编译时错误诊断。
  • 添加工具以在编译时处理图形相关资源,例如将 PNG 图像转换为压缩纹理或将着色器和网格转换为针对特定硬件的优化二进制格式。
  • 嵌入统一的主题和样式引擎,使您能够实现基于 Qt Widgets 和 Qt Quick 的应用程序外观,原生于不同的移动和桌面平台。
  • 决定使用 CMake 而不是 QMake 作为构建系统。 对使用 QMake 构建应用程序的支持将保留,但 Qt 本身将使用 CMake 构建。 选择 CMake 是因为该工具包在 C++ 项目开发人员中广泛使用,并且在许多集成开发环境中得到支持。 开发了Qbs装配系统,号称是QMake的替代品, 继续 社区。
  • 开发期间过渡到 C++17 标准(之前使用 C++98)。 Qt 6 计划实现对许多现代 C++ 功能的支持,但不会失去与基于遗留标准的代码的向后兼容性。
  • 能够在 C++ 代码中使用为 QML 和 Qt Quick 提供的一些功能。 将介绍 QObject 和类似类的新属性系统。 在 QML 中,用于处理绑定的引擎将集成到 Qt 核心中,这将减少绑定的负载和内存消耗,并使它们可用于 Qt 的所有部分,而不仅仅是 Qt Quick。
  • 扩展了对 Python 和 WebAssembly 等其他语言的支持。
  • 来源: opennet.ru

添加评论