Qt Quick简介:
Qt Quik 是一种高级用户界面技术,使用它可以轻松地创建供移动和嵌入式设备使用到动态触摸式界面和轻量级应用程序;Qt Quick主要由三部份组成:
- 改进的Qt Creator IDE(其中包含了Qt Quick设计器) ---- 可以通过拖动界面组件的图形化方式创建QML界面;
- 新增的简单易学的QML语言 ---- 一种基于JavaScript拓展的用来描述应用程序用户界面的声明式语言,完善了JavaScript和Qt现有的基于QObject类型 系统之间的整合,在语言级别上增加了对自动属性绑定和透明网络传输的支持;
- 新加入Qt库中的QtDeclarative模块 ---- 实现了QML语言和对它适用的元素之间的接口,可在Qtt/C++应用程序中加载QML文件并与之通信;
QML组成
一个 QML 文档分为 import 和 declaration 两部分。
前者用于引入文档中所需要的组件(有可能是类库,也可以是一个 JavaScript 文件或者另外的 QML 文件);后者用于声明本文档中的 QML 元素。
Qt Quick 是QML元素类型的标准库和具体实现;它包括视觉类型(visual type)、交互类型(Interactive Types)、动画(animations)、模型视图(model and views)、颗粒效果(particle effects)和着色效果(shader effects). QML开发者只需要一句具体的import语句便可以访问所有的类型功能特性;
QML Types
类型名 |
通用属性 |
具体元素 | 元素自身属性 |
1 Visual Elements 基于Item类型实现, |
visible property opacity property Transform属性(旋转和比例缩放) Item::rotation or Item::scale property |
Rectangle Tyep(矩形类型) | 属性:坐标x,y width/height color radius(半径) gradient(倾斜度) border |
Image Typpe | 属性:坐标x/y width/height source(图片地址) | ||
2 Interactive Types | 坐标x,y width/height color | mouse and touch events | 结合Image Rectangle Text和MouseArea可以实现简单按钮 |
keyboard and button events | 焦点属性 Item::focus
Keys.onUpPressed
Keys.onDownPressed
Keys.onLeftPressed
Keys.onRightPressed
|
||
TextInput | 单行输入 | ||
TextEdit | 多行编辑 | ||
3 animations |
States and Transitions |
||
Animating Property Changes. |
|||
Other Animations |
|||
4 model and views |
Laying Out Text |
||
Displaying and Formatting Text |
|||
5 particle effects | |||
6 shader effects |
重要文档:http://qmlbook.github.io/ch04-qmlstart/qmlstart.html#simple-transformations