“CodeLess. CreateMore.”言简意赅,道出了Qt的核心概念。Qt是一个跨平台的应用程序和UI的框架,支持C++和一种类似CSS、JavaScript的QML语言,QtCreator便是供Qt开发者使用的IDE,而Qt云服务则为Qt应用程序提供了实时的后端特性支持。
QtQuick是Qt中一项现代化的UI技术,使用它可以把描述性的UI设计和命令式的业务逻辑分开,应用程序的表示层可以不再使用传统的C++ API,取而代之的是Qt特有的描述性语言——QML。
QtQuick模块是编写QML应用程序的标准库,它提供了使用QML创建UI时需要的所有东西,比如说可视化的Canvas(有自己的坐标系统和渲染引擎)和一些基本类型,例如,可视化组件,用户输入响应,数据模型与视图,对象实例化延迟等,更为重要的是一些UI装饰,例如,动画、状态迁移、3D效果图、多点触控手势、OpenGL渲染、粒子效果等。
QtQML模块提供了使用QML语言开发应用程序及库的框架,定义并实现了QML语言及引擎的基础架构,还提供了QML API、C++ API来用JavaScript、C++对QML语言进行扩展。
1、基础
(1)C++头文件
#include <QtQml>
(2).qml文件导入
import QtQuick 2.3
(3).pro文件(用到了qmake)
QT += qml
2、QML类型
(1)QML语言内建了一些基本类型,如int、bool、real、double、string、url、list、var、enumeration等。
(2)Qt Quick模块扩展了一些基本类型,如color、font、matrix4x4、quaternion、vector2d、vector3d、vector4d、date、point、size、rect等。
(3)QML对象类型如Date、Number、String、Component、QtObject、Qt、Locale、Binding、Connections、Instantiator、Timer等。
(4)自定义类型,可以在QML文件中自定义,也可以在C++文件中自定义。
3、QML模型
QML模型如ListModel、ListElement等。
4、混合编程
QML应用程序可以内嵌JavaScript,与C++混合编程,用OpenGL渲染。