Qt Widgets Application 是传统的c++,不适合移动端开发。QtWidgets本质是使用平台绘图工具来绘绘制界面,而每个界面的绘制都需要各自有自己的绘制状态,这个消耗对于手机这类移动平台来说是不可忽视的。Qt Quick 一大特色在于其改变了界面渲染方式,自Qt Quick 2起统一使用OpenGL ES 2.0 或者 OpenGL 2.0 来渲染界面。这样做的好处是,所有要渲染的界面元素均在最后统一提供给OpenGL,极大减少状态切换时间和渲染时间(相比于之前使用QPainter依次为每个界面元素渲染,不断地重复渲染状态)。举例来讲,就像写文件,把要写的内容存在缓存后统一写入文件,一定比每次写入都重复打开关闭文件要快。
Qt Quick Application 是qt的QML和C++的结合 比较适合做界面类的东西,页面布局(UI)用的QML,但是内部的业务逻辑还是用QT语法,协同JavaScript。
Qt Quick由Qt Quick模块提供,它是一个编写QML应用的标准库。Qt Quick模块提供了两种接口:使用QML语言创建应用的QML接口和使用C++语言扩展QML的C++接口。使用Qt Quick模块,设计人员和开发人员可以轻松地构建流畅的动态式QML用户界面,并且在需要的时候,可以将这些用户界面连接到任何C++后端。
QML(Qt Meta-Object Language,Qt元对象语言)是一种用于描述应用程序用户界面的声明式编程语言。