这是我的问题:
Qt C和QML有什么区别?
QML给我们的是什么,Qt C没有?
它实际上不是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语言的相关性所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)