提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|产品更新|编辑:鲍佳佳|2020-12-15 15:06:18.073|阅读 1701 次
概述:Qt 6.0正式发布。这是第一个版本,标志着Qt的重要里程碑。Qt 6的任务是使Qt成为未来的开发平台。作为Qt的主要版本,Qt 6.0为我们提供了更高的自由度,以实现新功能,以及更好地支持当今和未来的需求。Qt 6.0是Qt 5系列的延续,我们一直致力于使迁移对用户无干扰。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
相关链接:
Qt是一个跨平台框架,通常用作图形工具包,它不仅创建CLI应用程序中非常有用。而且它也可以在三种主要的台式机操作系统以及移动操作系统(如Symbian,Nokia Belle,Meego Harmattan,MeeGo或BB10)以及嵌入式设备,Android(Necessitas)和iOS的端口上运行。现在我们为你提供了免费的试用版。
工具推荐:
多年来,Qt 5取得了巨大的成功,并且自发布Qt 5.0以来的八年中,我们看到了用户群和Qt使用量的巨大增长。但是,自2012年以来,世界发生了重大变化。嵌入式系统中Qt的使用猛增,C ++不断发展,新的3D图形API出现了。这些是直接影响Qt的因素示例。
作为跨平台框架,Qt需要适应那些不断变化的需求。在Qt 5的生命周期内,已经设法很好地适应了其中的许多要求。但是,在Qt 5系列中保持完整的源代码和二进制兼容性使得某些事情在其生命周期内无法修复。使用Qt 6,我们现在有机会进行更改并构建Qt,使其更适合未来。
因此,Qt 6的任务是使Qt成为未来的开发平台。作为Qt的主要版本,Qt 6.0为我们提供了更高的自由度,以实现新功能,以及更好地支持当今和未来的需求。Qt 6.0是Qt 5系列的延续,一直致力于使迁移对用户无干扰。
Qt 6遵守并维护的Qt核心价值,包括:
Qt 6.0是Qt 6系列的第一个版本,旨在满足新的市场需求,同时将核心价值作为其核心。
在开发Qt 6时,开发人员深入研究了Qt的一些最核心部分,以确定如何改进它们。发现了两个核心重点领域,并投入了大量时间进行改进。这些领域包括:
C ++ 17
现在,对于Qt 6,我们需要一个与C ++ 17兼容的编译器,以便在开发Qt时使用更现代的C ++语言构造,并允许在API方面进行集成。
核心库和API
Qt Core已完成许多工作,因为它是实现Qt最核心部分的模块。我们已经遍历了许多领域并进行了改进。列举一些最核心的:
Qt的其他与图形无关的部分也发生了很大的变化。例如,Qt Concurrent已经经历了几乎完全的重写,并且现在比以往更加轻松地进行多线程应用程序的开发。Qt Network已经看到许多清理和改进。
新的图形架构
Qt 5 的图形架构在很大程度上依赖于 OpenGL 作为底层 3D 图形 API。虽然这在2012年我们创建Qt 5时是正确的做法,但随着Metal和Vulkan的引入,过去几年我们周围的市场发生了重大变化。我们现在有一大套不同的图形API,这些API在不同的平台上被普遍使用。对于Qt作为一个跨平台框架来说,这当然意味着我们必须对此进行调整,并确保我们的用户可以在所有的平台上以最高的性能运行Qt。
因此,当Qt 5依靠OpenGL来实现硬件加速的图形时,Qt 6的情况完全改变了。Qt Quick中的所有3D图形现在都建立在一个新的3D图形抽象层之上,称为RHI(Rendering Hardware Interface)。RHI 使得 Qt 可以使用底层操作系统/平台的原生 3D 图形 API。因此,Qt Quick 现在将在 Windows 上使用 Direct3D,在 macOS 上默认使用 Metal。详情请看关于RHI的系列博文。
Qt中的OpenGL专用类仍然存在,但现在被移出QtGui,放在QtOpenGL模块中。现在还增加了一个新的模块,叫做QtShaderTools,以跨平台的方式处理这些API的不同着色语言。
Qt Quick 3D和Qt 3D
Qt Quick 3D是一个比较新的模块。它无缝扩展了Qt Quick的3D功能。对于Qt Quick 3D,我们的重点是创建一个API,它与Qt Quick的现有部分(用于2D用户界面)一样易于使用,同时为创建复杂的3D场景提供全面支持。这一努力背后的主要目标是实现2D和3D内容之间的无缝集成。
这个模块在Qt 6中得到了显著的改进,这是我们在Qt 5系列中无法做到的。最重要的是,它现在总是使用RHI抽象层来优化使用底层图形API和硬件。此外,它现在的特点是在2D和3D内容之间进行了更深入、更有性能的整合,允许你将2D项目放入3D场景中。它还大大改进了对glTF2和基于物理学的渲染的支持,使得导入在其他设计工具中创建的资产变得轻而易举。该模块还有许多其他重大改进,更深入的描述可以在单独的博客文章中找到。
Qt 3D现在也是基于RHI抽象层之上,已经进行了一些性能改进和清理。
Qt Quick的桌面样式
当我们为Qt Quick创建这套控件时,我们的重点是让它们变得轻量级和高性能,因此,它们在Qt 5中不支持桌面风格。然而,在Qt 6中,我们找到了一种方法,让它们在桌面操作系统上看起来和感觉上都是原生的。在 6.0 中,Qt Quick 现在支持 macOS 和 Windows 上的原生样式。详情请看这篇博文。在Qt 5中,Material和Fusion风格已经为Android和Linux提供了原生的外观和感觉,现正在为未来的Qt版本改进这些风格,同时也计划为iOS实现原生风格。
与平台特定功能的接口
即使Qt提供了独立开发应用程序平台所需的大多数功能,有时还是需要与特定于平台的功能进行交互。在Qt 5中,提供了一组附加模块(QtX11Extras,QtWinExtras,QtMacExtras)来帮助实现此目的。但是,与Qt其余部分的这种完全隔离导致了Qt内部的一些体系结构问题,不一致和代码重复。在Qt 6中,正努力进行清理,并将那些附加模块提供的功能折叠到直接在Qt中提供的平台特定的API中。在Qt 6中,这将使与OS /特定于平台的API的接口更加容易。
构建系统
我们还对构建和分发Qt的方式进行了一些重大更改。值得一提的是,Qt 6本身现在是使用CMake构建的。这也为使用CMake构建项目的所有用户带来了重大改进。我们将在Qt 6的整个生命周期内继续支持qmake,因此,如果您正在使用它,则无需对构建系统进行任何更改,但是我们建议对所有新项目都使用CMake。
Qt 6还带有一个更小的默认软件包,许多附加组件现在通过软件包管理器作为单独的软件包分发。这使我们能够更灵活地调整加载项的发布时间表以适应市场需求,例如,允许将更频繁的功能发布作为核心Qt软件包,或使其同时可用于多个Qt版本。此外,我们可以将包裹管理器用作第三方内容的传递渠道。最后,它为我们的用户提供了更大的灵活性,因为他们可以选择仅下载他们真正需要的内容。
当前,我们使用现有的Qt安装程序作为程序包管理器的后端,但是正在研究将来版本的替代方法。
兼容性在对 Qt 6 进行修改时,我们试图调整我们的 API,使其符合我们认为未来所需的要求,同时尽量减少对现有用户的破坏。虽然您的代码需要进行一些调整,以尽可能地使用 Qt 6,但我们已经尽量使移植到新版本变得简单。
我们做的第一件事就是清理我们的代码库。在Qt 5的生命周期中,我们废止了不少API甚至整个模块。我们所做的第一件事就是删除这些,以便为未来的Qt提供更精简的服务,并允许我们留下一些今天已经没有意义的东西。
然而,我们已经注意将尽可能多的这些API标记为Qt 5.15中的废弃。启用废弃警告并清理这些API将使你的代码库与Qt 6兼容。
一些在 Qt 5 中被删除的最常用的 API 已经被移到了 Qt5CoreCompat 模块中。它包含了一些在Qt 6中被广泛使用的类,如QRegExp,QTextCodec,旧的XML的SAX解析器,以及其他一些项目。这个模块的目的是作为一个移植帮助,除了针对Qt 5的回归和安全相关问题外,不会收到bug修复。我们建议您使用它来进行移植,但随后逐步删除您对模块的依赖。
支持平台
Qt一直是跨平台的,并且将在Qt 6中继续。Qt 6.0支持
在嵌入式方面,我们支持各种运行Linux的嵌入式设备。Qt 6尚不支持Qt 5支持的任何嵌入式实时操作系统。QNX和INTEGRITY最近都增加了对C ++ 17的支持,有计划在发布Qt 6.2时增加对它们的支持。
外观
Qt 6.0还不支持许多可以在Qt 5.15中找到的附加模块。这是有意决定的,以腾出时间来确保我们可以完成所有我们需要为Qt框架的基本模块所做的改动。
我们现在正在努力将这些附加组件中的大部分带到Qt 6中。我们已经做了大量的工作,我们希望在发布Qt 6.2的时候能够重新支持大部分附加组件。许多附加组件已经针对 Qt 6 进行了编译,但它们还没有正式发布,因为还有一些清理工作和重构工作要做。我们计划在发布 Qt 6.2 时将大部分重要的附加组件移植过来。在下面的博文中,您可以了解到我们对Qt 6.0及以后的附加组件支持的完整概述。
除了将缺失的附加组件移植到 Qt 6 中,在接下来的几个月里,我们与 Qt 6 相关的很多工作将集中在新版本的稳定性上,并将新的属性系统在 Qt 中得到更广泛的使用。
现已经调整了Qt 6.1和6.2的发布时间表,并计划在4月份发布Qt 6.1。之后,9月底发布Qt 6系列的第一个长期支持版本Qt 6.2 LTS。
而我们今年的工作还没有结束,你还可以期待在圣诞节前发布全新版本的Qt Creator和Qt Design Studio! 这两款产品都将全面支持Qt 6。
概要
Qt 6.0是下一代Qt的起点。它的功能尚未达到5.15,但我们将在未来几个月内填补空白。我们在布局下一版Qt的基础方面做了很多重要的工作。其中许多变化可能不会立即显现出来,但我坚信,这些变化将有助于保持Qt在未来几年的竞争力。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@capbkgr.cn
文章转载自:知名C/C++开发工具CLion全新发布v2024.3,新版本新语言引擎有显著改进等,欢迎下载新版体验!
强大的VS插件CodeRush已正式发布v24.2.3,新版本现在可以运行xUnit.Net v3测试等,欢迎下载最新版体验!
Spire.PDF 10.12.4 最新版本支持在进行多页打印时设置自动旋转方向。同时,一些已知问题也在本次更新中被成功修复,例如打印 PDF 文档时内容丢失的问题,欢迎下载体验~
日程安排控件dhtmlxScheduler v7.2全新发布,新版本增强并增加了编辑、修改等多个操作体验,欢迎下载最新版试用~
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@capbkgr.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢