加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – Qt与QML语言的相关性

发布时间:2020-12-16 10:37:53 所属栏目:百科 来源:网络整理
导读:所以,我是Qt的新手,我的目的是让自己熟悉Qt Graphics.但是,互联网上的大多数指南建议在处理图形时使用QML而不是Qt C. 这是我的问题: Qt C和QML有什么区别? QML给我们的是什么,Qt C没有? 解决方法 UI技术 它实际上不是QML与C的问题,而是Qt使用什么UI技术的
所以,我是Qt的新手,我的目的是让自己熟悉Qt Graphics.但是,互联网上的大多数指南建议在处理图形时使用QML而不是Qt C.

这是我的问题:
Qt C和QML有什么区别?
QML给我们的是什么,Qt C没有?

解决方法

UI技术

它实际上不是QML与C的问题,而是Qt使用什么UI技术的问题:

> QtWidgets(用C编写的代码)
> QtQuick(用QML / JS编写的代码)
> HTML5(通过WebEngine,嵌入到小部件或QtQuick项目中)
> OpenGL(嵌入到小部件或QtQuick项目中)

除了HTML5和OpenGL之外,QtWidgets与QtQuick的问题已经在其他地方进行了讨论,例如在Qt Quick vs. Qt Widget和Qt DevDays 2014 presentation.

我的个人观点:将QtWidgets用于传统桌面应用程序,将QtQuick用于移动和嵌入式(带触摸屏的设备),除非您有充分理由不这样做. QtWidgets对传统桌面控件有更好和更成熟的支持,而QtQuick更适合动画和完全自定义样式.

在桌面上使用QtQuick的一个原因是当你需要大量的自定义动画和样式时,代价是使用传统的桌面控件,如工具栏,菜单栏,拖放等等.

语言

选择QtWidgets时,语言总是C(好吧,除非你使用Python绑定).虽然您可以使用Qt Designer tool直观地创建UI,但最终会将其编译为C.

选择QtQuick时,UI部分的语言将是QML和JavaScript.但是,在任何中等大小的QtQuick应用程序中,您在某些时候也会有一个C部分 – 例如,与其他C和C库接口,用于没有关联JavaScript API的操作,或者只是为了更快,更易于维护的代码比JS.可以从QML访问C类和对象,有关详细信息,请查看the documentation.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读