点击上方Linux迷,关注我们
正文本文来自:https://www.linuxmi.com/qt-6.html
Qt公司正式宣布了他们的第一个主要新版本Qt 6的发布。它标志着Qt的一个重要里程碑和向现代图形堆栈的巨大飞跃。 Qt是用于桌面、嵌入式和移动设备的跨平台应用程序开发框架。这么多年来,Qt 5取得了巨大的成功。它是在8年前的2012年发行的。 Qt支持许多平台,包括Linux、OS X、Windows、VxWorks、QNX、Android、iOS、黑莓、Sailfish OS等等。该框架是用C++编写的,使用MOC(元对象编译器)作为预处理器,用于扩展信号和槽等语言特性。Qt 6有什么新特性?
让我们来看看Qt 6的新功能。 C++ 17 Qt 6现在需要一个兼容C++ 17的编译器来支持现代C++语言构造的使用,这将有助于在API端进行集成。 核心库和API Qt Core进行了许多更改。Qt Core模块实现了框架的最核心部分。一些重要的变化是:- Qt 6增加了新的属性和绑定系统。它带来了绑定的概念,使得QML在Qt 5中获得了巨大的成功。
- Qt 6现在是完全的Unicode,他们从Qt 5开始就瞄准了这个目标。
- QList和QVector在Qt 6中统一为一个类。QList是Qt 5中的一个类,由于它用于堆分配对象和对hep分配方法施加压力,因此经常受到批评。
- QMetaType和QVariant已在Qt 6中进行了完全重写。
- Qt Concurrent得到了一个几乎完整的重写。因此,在Qt 6中开发多线程应用程序比以往任何时候都更加轻松。
- Qt 5的图形体系结构主要取决于OpenGL。现在,Qt 6具有大量不同的图形API,包括Vulkan和Metal。
- Qt Quick的3D图形现在建立在称为RHI(渲染硬件接口)的新抽象层之上。RHI使用基础OS/平台的原生3D图形API。因此,Qt Quick现在将在Windows上使用Direct3D,在macOS上使用Metal,在Linux上使用OpenGL/Vulkan。
- Qt 6添加了一个名为QtShaderTools的新模块,以处理不同图形API之间的不同着色语言。