c – Qt与QML语言的相关性

c – Qt与QML语言的相关性,第1张

概述所以,我是Qt的新手,我的目的是让自己熟悉Qt Graphics.但是,互联网上的大多数指南建议在处理图形时使用QML而不是Qt C. 这是我的问题: Qt C和QML有什么区别? QML给我们的是什么,Qt C没有? UI技术 它实际上不是QML与C的问题,而是Qt使用什么UI技术的问题: > QtWidgets(用C编写的代码) > QtQuick(用QML / JS编写的代码) > HTML 所以,我是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.

总结

以上是内存溢出为你收集整理的c – Qt与QML语言的相关性全部内容,希望文章能够帮你解决c – Qt与QML语言的相关性所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1221616.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存