图文详解Qt Quick 和 Widgets 的区别
共 1304字,需浏览 3分钟
·
2021-03-30 22:17
来源:技术让梦想更伟大
作者:Zcb0812
概念:
Qt Quick
Qt Quick : QML 类型 和 功能的标准库
Qt Quick 模块:提供可视化组件,模型视图支持,动画框架以及用于构建用户界面的更多功能。
Qt Quick Controls :基于Qt Quick 的可重用UI组件库。
Qt Quick1 基于Graphics View
Qt Quick2 基于Scene Graph 的技术 ,独立的渲染线程
QML(前端开发,后端还是C++):Qt Meta-Object Language 声明式脚本语言
声明式定义GUI界面
集成C++和 JavaScript,QT QML 模块
QML程序的语言和引擎基础结构
Qt Quick 的开发模式
Front-end : 使用 QML
Back-end: 使用C++
QT Quick 和 Widget 的区别
学习成本
widget 基于C++语法,学习成本较高
quick 是基于QML(语法类似JSON),解释性语言,易学,成本低(性能不会受影响,本质还是从C++编译)。
绑定机制 Bindings
QML有特有的绑定机制,属性之间的绑定,一个属性变化会同时让所有的属性也变化。
widget 的 C++ 中没有
信号 Signals
QML 的信号和槽更加简单, QML 自带槽函数可以直接调用.
Widget 需要增加connect指定信号。
控件 Components
QML 可以自定义控件,方便复用
总结
![](https://filescdn.proginn.com/9252d5a88d9737f14ba920497361e7cb/53a02ab05f80d86a2b7f3a59d95251c7.webp)
Widget 和 QT Quick 可用控件对比
![](https://filescdn.proginn.com/5c49bff74f9767b781c519f7a2f36967/f1e26aea6b2550c436c7167b6b009987.webp)
![](https://filescdn.proginn.com/8ea813ebb83b808ffb165fa203ee455c/abd880b62456b26efc7d6a7bdf2ec4f7.webp)
![](https://filescdn.proginn.com/821cb6bde02443c155d14578cef863d1/ae5b6d189683a50d8a9518e66ddad6c4.webp)
总结
![](https://filescdn.proginn.com/6a634198bf2ac813aa90abc95607dc1f/c72a981ae5e58a9727e01d8d68a18234.webp)
Widget 和 QT Quick布局对比
![](https://filescdn.proginn.com/2edc5101045802398d52f18fc2c0e1b7/89ad05cb403f3543d1212f40954bfdce.webp)
这点上 Quick 有更多的方案~
Widget 和 QT Quick界面风格
![](https://filescdn.proginn.com/404f7b424ea20d4fd0f0e02ea6e0c403/964e4a2bcf448d2e7af748b3935babdd.webp)
![](https://filescdn.proginn.com/a1e19d842b19cf9ff4e25e60483ce310/d722d2ae29d434dd1978f016b4f4bf4a.webp)
总结
![](https://filescdn.proginn.com/b432eb066ede027aed23b1c95c7c1256/f9e7aacf278e34571e6a59086457ea06.webp)
Widget 和 QT Quick 动画对比
![](https://filescdn.proginn.com/ee6eaa8377823a4057586558468c58f5/d1598b1f29d95b23a1ef3c6c66cdaa48.webp)
![](https://filescdn.proginn.com/c0566dcb55dffc05b065d3aa32f52e15/75c3b7dc5250336b97c886c7367caf73.webp)
总结下来,动画方面,Quick 是稳稳的赢的!
Widget 和 QT Quick 图形渲染(rendering)
![](https://filescdn.proginn.com/8226bc9ee26a194557d7ed3c3e4c8eff/385613064f53b4e62e94783808253a45.webp)
Widget 和 QT Quick 低端硬件适配
Quick 也是稳赢,Qt for Mcu
Widget 和 QT Quick 工具方面
![](https://filescdn.proginn.com/86e8154b87cb61f6486b346639485cda/fe7760fc41ef7ec1a3dd95f4d941d2e4.webp)
![](https://filescdn.proginn.com/c90f2cb6e1d4a28577223e029d2a797a/f6259b73cd827b05f68c3c9385086ed1.webp)
最后总结
![](https://filescdn.proginn.com/32d1a455f9ca323ef3b5017a5de4444a/578764ce8969d4008df2178d0700fc7d.webp)
应用场景
![](https://filescdn.proginn.com/9c29f9dd7de904a28b1f72ab77c4f6fd/9e49f155efeeb736c7f02818ebac8d5c.webp)
![](https://filescdn.proginn.com/71775fbbf71e503221443a045c0ac96e/ecbab914e5a365f1bf762f89ae77d9ea.webp)
一般不会交叉使用两种技术,
QT Quick 和 QML的区别:
quick是框架
QML是语言
嵌入式编程专辑 Linux 学习专辑 C/C++编程专辑 Qt进阶学习专辑 关注微信公众号『技术让梦想更伟大』,后台回复“m”查看更多内容。 长按前往图中包含的公众号关注