使用Qt开发跨平台桌面应用时,应该选择widgets还是qml?

    xiaoxiao2024-05-07  5

    以下文章来自知乎:

    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的定位。

    其他:   桌面应用建议用widget。移动设备才用qml。

    其他201608:    qml比较炫吧。比较适合移动端开发。widget对于pc端比较合适。兼容性更好

    其他:    QML用来完成界面有可能会经常需要变化,不复杂的项目,移动设备上用,PC程序很多时候太复杂,QML不适合

    其他2014:  qml是一种全新的语言,对熟悉javascript的用户,该语言比较容易上手。QtQuick 与 QtWidgets 是两套不同的做界面的东西,QtQuick2 是基于OpenGL的,而QtWidgets不是。前者潜力更大。随着组件的完善,前者会慢慢取代后者(但目前,前者在桌面应用上还不成熟,主要就是QtWidgets中的很多控件,QtQuick还没有,已经有的,稳定性可能也不太够)。不过,鉴于传统的Qt的用户都是C++出身,对qml的接受度有时可能不太高。

    转载请注明原文地址: https://ju.6miu.com/read-1288341.html
    最新回复(0)