查看完整版本: [-- QML还是QWidget --]

QTCN开发网 -> 其它技术开发讨论区 -> QML还是QWidget [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

meteorliu 2022-04-06 09:40

QML还是QWidget

我是一个自学的,在学了点QWidget后做了一个小界面,觉得除了不好看别的还好(WIN平台),然后了解到了QML,又学了一点QML,发现界面和动画确实很好
但是我却不知道如何与C++交互,等于只会一些界面,用QWidget的话就可以有界面有交互;

我怕学了很久QML最后又学了个寂寞,但是又看网上都说QWidget后面不是Qt的重点了,QML才是后面的主场,所以不知道到底学QML还是QWidget合适
至于为什么怕学很久学了寂寞,因为同时在学C++,所以每天的时间都很挤,想两个一起学,以后能找个工作这种的,真的很怕学很久最后什么都没有就挺失落的,但是也不会后悔,只是想有个明道;
求各位有经验的大佬给指个方向,谢谢。如果有一起自学的小伙伴可以加个好友一起奋斗

PS:为什么不找培训班是因为要上班挣钱没办法辞职专心去培训班培训,同时我也有可以自学得定力

kimtaikee 2022-04-06 10:19
C++/QWidget

liudianwu 2022-04-06 11:02
Qt自从4.7以后引入的QML。从此以后,Qt开发就分成了两种流派,一者使用原来的C++ 语言进行开发,另外一种使用QML语言进行开发。这下搞得嘞,经常吵吵不亦乐乎,在Qt界从此就有两大阵营产生激烈的纷争,那就是选用qml还是widget好,大量初学者也会问这个问题,有以下几点总结。
widget属于传统界面开发,和VB/VC/Delphi等拖曳控件开发类似,走CPU绘制,能最大化的兼容现有的硬件和过去的相对偏低性能的硬件。
qml属于新时代的产物,大概从2010年开始,和flutter/Electron等web开发框架及移动开发框架类似,为了适应各种移动端开发及动画流畅性触摸丝滑体验、充分利用和“榨干”现在的GPU性能,把CPU留出来给用户最大化发挥。
硬件性能越好,GPU越是强劲,qml的综合性能越是完爆widget,反之对比也是指数级的。除了极其省成本的嵌入式硬件领域或者国产CPU等,其他领域的硬件性能都是暴增。
widget主要集中在金融、军工、安防、航天、船舶、教育等领域,qml主要集中在汽车仪表、车机、直播等领域。
目前国内widget多于qml,国外可能偏向qml,这个不难看出,流行的移动端开发框架都是国外开发者居多。
可预见的十年内,这两者将长期并存,官方基本不再更新widget而是主推qml,意味着将来对qml的性能优化只增不减,未来趋势是qml。
没有编程经验的新手qml学习成本更低,而从VB/VC等传统软件开发转过来的从业者更适合学习widget。
有的时候不禁要问,既生widget何生qml,学习成本和选择又多了,其实这正是和这个世界的哲学一样:世界是简单的又是复杂的。为了适应各种需求和满足需要。
总之,无论qml还是widget,和找老婆一样,适合自己的就是最好的,自己擅长哪个就用哪个。
如果还不知道擅长哪个,有空就两个都学,学习过程中自己就会有切身感受和对比,能者多劳多多益善。能够顺利的最快的完成老板的任务给老板赚钱才是王道。
网友补充:如果你的软件最终是手指操作的多,就用qml,如果是鼠标操作的多,就选择widget。

https://gitee.com/feiyangqingyun/qtkaifajingyan

angelus 2022-04-06 17:15
其实不是很冲突,传统界面可以简单学学,主要是适合老式设备
qml是现在主流,也是我主要工作点,基本传统界面已经不再写了
qml主要是面向触摸的设备,比如ios,android,和其他触摸设备,也可以兼容非触摸设备.

基本上现在传统界面也不再更新了,qml是未来吧






查看完整版本: [-- QML还是QWidget --] [-- top --]



Powered by phpwind v8.7 Code ©2003-2011 phpwind
Gzip disabled