以下文章来自知乎:
2015年11月:
作者:秋城 ; 链接:http://www.zhihu.com/question/34570556/answer/62517595 ;来源:知乎
如果是桌面平台,劝题主还是使用Widgets。也别搞QML为主,widget为辅这一套了。不够麻烦钱的。不知道@韦易笑 这么推荐是从哪方面考虑的。而我的理由如下:
1,QML只适合写界面。绝大部分的逻辑还是要靠C++的,而QML和C++通信部分是蛋疼的(不难,但是确实蛋疼,各种Invoke)。假如你一部分逻辑用js,一部分用C++,到后期维护起来,估计就想买后悔药了。
2,QML成品控件太少,稍微复杂的控件都要你自己写。没有第三方控件。而widgets有非常多的选择。
3,QML没法调试,开发效率没有吹的那么高。大多情况下,你面对的其实是一个TXT文档,而运行效率则有点呵呵(内存/CPU你可以写个例子看看)。---
4,如果你想用QML做移动平台的开发,那你要考虑到跟系统的原生样式匹配问题。
真心不明白QML的定位。
1,QML只适合写界面。绝大部分的逻辑还是要靠C++的,而QML和C++通信部分是蛋疼的(不难,但是确实蛋疼,各种Invoke)。假如你一部分逻辑用js,一部分用C++,到后期维护起来,估计就想买后悔药了。
2,QML成品控件太少,稍微复杂的控件都要你自己写。没有第三方控件。而widgets有非常多的选择。
3,QML没法调试,开发效率没有吹的那么高。大多情况下,你面对的其实是一个TXT文档,而运行效率则有点呵呵(内存/CPU你可以写个例子看看)。---
4,如果你想用QML做移动平台的开发,那你要考虑到跟系统的原生样式匹配问题。
真心不明白QML的定位。
其他: 桌面应用建议用widget。移动设备才用qml。
其他201608: qml比较炫吧。比较适合移动端开发。widget对于pc端比较合适。兼容性更好。
其他: QML用来完成界面有可能会经常需要变化,不复杂的项目,移动设备上用,PC程序很多时候太复杂,QML不适合
其他2014: qml是一种全新的语言,对熟悉javascript的用户,该语言比较容易上手。QtQuick 与 QtWidgets 是两套不同的做界面的东西,QtQuick2 是基于OpenGL的,而QtWidgets不是。前者潜力更大。随着组件的完善,前者会慢慢取代后者(但目前,前者在桌面应用上还不成熟,主要就是QtWidgets中的很多控件,QtQuick还没有,已经有的,稳定性可能也不太够)。不过,鉴于传统的Qt的用户都是C++出身,对qml的接受度有时可能不太高。