微信公众号

Qt6技术概览

Qt6价值体现

Qt6是Qt的一个新的重大版本,这个版本的主要目标是为2020年以后的需求做好准备。

  • 跨平台特性:把一套代码部署到各种的桌面、移动和嵌入式平台;
  • 可扩展性:从低端的单用途设备到高端复杂的桌面应用程序和互联系统;
  • 丰富的API、工具和文档:简化了应用程序和设备的开发流程;

新一代的QML

使用QML和Qt Quick这些技术可以直观的创建用户界面。

  • 引入强类型;
  • JavaScript成为QML的一个可选特性;
  • 删除QObject和QML之间重复的数据结构;
  • 避免运行时生成数据结构;
  • 支持把QML编译成高效原生的C++代码;
  • 更好的工具集成

下一代图形

图形领域发生了很多变化,3D正在扮演越来越重要的角色。在Qt5中,统一使用OpenGL作为3D图形的API。在Linux上Vulkan是OpenGL的指定接班人,苹果正在推动Metal的发展,而微软有Direct 3D。这意味着Qt将来必须与所有这些API无缝地衔接。为了实现这一点,必须定义一个新的图形抽象层的API(类似于平台集成层的QPA),称为渲染硬件接口(RHI)。Qt着色器工具模块将帮助我们在编译和运行时交叉编译着色器。 把QML转换为3D UI的UI定义语言,提供一个新的技术预览版本的Qt Quick与3D支持的版本。同时引入统一的主题样式引擎,桌面和移动平台上获得Qt Widgets和Qt Quick的原生外观。

统一工具库

将Qt 3D Studio所需的功能合并回Design Studio来统一这些功能。Design Studio与Qt Creator共享了大量代码和应用/插件框架,提供了很好的设计体验。

增强已有的C++ API

C++在过去的几年中发生了很大的变化,Qt6依赖C++ 17。意味着C++提供了更多的开箱即用的功能,使用Qt 6的目标是更好地集成这些能力,同时也保持向前的兼容性。

语言支持

进一步扩展跨平台特性,通过Qt为WebAssembly添加了浏览器作为新的平台。

 

Java字符串拼接方法比较 String.join StringBuffer StringBuilder StringJoiner Java/JDK各版本主要特性汇总
微信公众号