提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|行业资讯|编辑:鲍佳佳|2020-11-18 10:01:16.047|阅读 404 次
概述:Qt Quick Controls 1是我们第一个QML的UI框架。这些控件主要是用QML编写的,没有使用太多的C++。当时,QML还是一种新技术,这意味着我们在性能设计方面没有足够的经验,不知道会有什么结果。因此,造型API在设计上最终是低效的,它有很多肥大的委托,在控制逻辑和造型上都使用了大量的JavaScript、绑定、自省、Loaders和QObjects。它还存在对Qt Widgets的链接依赖,以获得本地的样式和基于Widget的对话框。而如果没有我们今天的QML编译器,这一切最终都是一种相当缓慢和混乱的方法。Qt Quick Controls 2是当我们意识到它在嵌入式硬件上的表现也不好时重新考虑解决方案。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
相关链接:
Qt是一个跨平台框架,通常用作图形工具包,它不仅创建CLI应用程序中非常有用。而且它也可以在三种主要的台式机操作系统以及移动操作系统(如Symbian,Nokia Belle,Meego Harmattan,MeeGo或BB10)以及嵌入式设备,Android(Necessitas)和iOS的端口上运行。现在我们为你提供了免费的试用版。赶快点击下载Qt最新试用版吧>>
Qt Quick Controls 1是我们第一个QML的UI框架。这些控件主要是用QML编写的,没有使用太多的C++。当时,QML还是一种新技术,这意味着我们在性能设计方面没有足够的经验,不知道会有什么结果。因此,造型API在设计上最终是低效的,它有很多肥大的委托,在控制逻辑和造型上都使用了大量的JavaScript、绑定、自省、Loaders和QObjects。它还存在对Qt Widgets的链接依赖,以获得本地的样式和基于Widget的对话框。而如果没有我们今天的QML编译器,这一切最终都是一种相当缓慢和混乱的方法。Qt Quick Controls 2是当我们意识到它在嵌入式硬件上的表现也不好时重新考虑解决方案。
Qt Quick Controls 2
对于 Controls 2,我们的基本想法是将大部分的实现从 QML 转移到 C++。通过这样做,我们的目标是尽可能地精简代表,而不是从C++中去做繁重的工作。这包括所有的控制逻辑、鼠标、触摸、事件处理、API等等。只有视觉效果被留在QML中定义。这就导致了精简的委托,更少的运行时开销,更少的内存使用,更清晰的代码流,以及更快的执行速度。
但有一点是目前为止一直缺少的,那就是对原生桌面样式的支持。Controls 2的主要动机是在嵌入式设备上实现良好的性能,由于我们有桌面的Qt Widgets,我们算是接受了一些基本的桌面功能缺失。我们提供了有开放文档的样式(Universal,Material),并使创建自定义的样式变得容易。但现在,自Qt 5.12以来,Controls 1已经被废弃,并且也将被排除在Qt 6二进制包之外,现在是时候重新开发面向桌面的样式了。
本地桌面风格
在 Qt 6.0 中,我们为 Controls 2 增加了两种新的桌面风格:Windows 和 macOS。与现有的Fusion风格使用Qt Quick基元不同,这些新风格使用QStyle进行绘制。原因是它仍然能很好地与 "低级 "平台API对接,以获得真正的原生样式。但我们并没有与Widgets共享QStyle,而是专门为Controls制作了一份专属副本。后者听起来可能很奇怪,因为我们很自然地认为共享一个代码库是一种更简单的方法。但原因有几个:首先,我们不想破坏Widgets或任何第三方的风格。而且我们不能在不破坏源码兼容性的情况下将QStyle从Widgets中剔除。QStyle不仅在它的API中到处都有对Widgets的引用,而且它还直接使用了Widgets本身的枚举和常量。同时,我们也不希望 Controls 在未来很长一段时间内对 Widgets 产生依赖性。
另一个原因是,我们希望能够自由地在任何我们认为合适的地方修改代码。我们可以通过很多方法来优化QStyle-copy,以更好地适应Qt Quick场景图和Controls styling API。其中一个变化是,我们只使用QStyle来绘制控件的背景。同样的背景贴图将被缓存并重用于所有相同类型的控件,并在QSGNinePatchNode的帮助下缩放到正确的大小。文本和前景将使用正常的QML渲染在上面。而对于所有这样的差异,我们希望能够在不受限制或担心保持与Widgets的兼容性的情况下实现它们。出于同样的原因,我们使用QStyle进行绘制是一个私人的实现细节。Controls已经有了一个很好的样式API,我们不想再引入和维护第二个。
最后,我们不一定要让原生样式看起来和Widgets完全一样。对于一些控件,我们使用了一种混合的方法,用QML在QStyle绘制的纹理上添加动画和渐变效果。最后,我们真正想要的是让原生样式具有流畅的性能,并且尽可能地看起来 "原生",而不一定要像Widgets一样。
Qt 6.0准备了什么?
对于 Qt 6.0,大多数控件都会被新的桌面样式所支持。但并不是所有的控件都支持。将被遗漏的是那些目前在QStyle中还没有实现的控件,比如Switch或RangeSlider。它们仍然可以使用,但将用Fusion风格绘制。缺失的控件将在即将发布的Qt中逐步得到支持,原生对话框和菜单也是如此。如果我们看得更远,我们的计划包括提供更多以桌面为中心的控件,这些控件你可能会在今天的Widgets或本地工具包中找到。
所以,还有很多事情要做。但是,我们认为新的桌面风格是未来几年内让Controls与Widgets在桌面开发方面平起平坐的第一步。
下面是使用新的桌面样式运行的Qt Quick Controls 2应用程序的截图。需要注意的是,这仍然是一项持续的工作,任何小问题都会在最终发布之前被解决。
Qt商业组件Qtitan推荐:
感谢您的阅读,希望这篇文章能带给你一定的帮助!如果这篇文章没能满足你的需求、点击获取更多文章教程!现在立刻下载Qt6免费试用吧!更多Qt类开发工具QtitanRibbon、QtitanChart、QtitanNavigation、QtitanDocking、QtitanDataGrid在线订购现直降1000元,欢迎咨询慧都获取更多优惠>>
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn
文章转载自:通过提供强大的3D CAD数据访问工具并适用于桌面、移动和Web的高级环境3D可视化发动机,HOOPS在提升造船设计和制造流程的效率方面发挥了重要作用。
HOOPS Luminate在汽车行业中的应用具有广泛的潜力和深远的影响。它通过提供高效的3D可视化、虚拟装配与拆解、性能分析、客户定制等功能,帮助汽车制造商在设计、生产和销售过程中提升效率、降低成本并提高产品质量。
在不断发展的软件开发世界中,使工具和框架与最新的平台版本保持同步至关重要,欢迎查阅~
全球航运业对国际贸易至关重要,全球 90% 以上的商品通过海运运输。准确监控和控制这些集装箱的移动对于维持高效的供应链至关重要。手动输入集装箱号码是这一程序的关键部分,它带来了相当大的挑战,例如人为错误和效率低下。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@cahobeh.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢