##QML语言
QML语言是一种说明性语言,用来描述Qt对象系统的用户界面。QML提供了高可读性、声明式、类CSS的语法,支持结合动态属性绑定的ECMAscript表达式。
Qt Quick模块是开发QML应用的标准库。
QML文件后缀为 .qml
- 注释格式与C++一样;
- 可以使用 ? : 三目运算符 ;
###属性
####属性命名
属性名的首字母小写,之后的单词首字母大写,即驼峰命名法;
####属性的类型
大致分三类:
1、由QML语言本身提供的类型;
2、由QML模块(例如Qt Quick)提供的类型;
3、导出到QML环境的C++类型。
#####1、由QML语言本身提供的类型;
(1)基本类型
QML支持的基本类型包括int、real、double、bool、string、color、list、font等。
注意!! :QML中对象的属性是有类型安全检测的,类型与属性必须匹配
帮助关键字:qml basic types
Qt的QML模块还引入Qt相关的类型,如Qt、QtObject、Component、Connections、Binding等,
帮助关键字:qt qml qml types
#####2、id属性
一个对象的id属性是唯一的。
注意:id属性的值,首字母必须是小写字母或者下划线。
#####3、列表属性
列表是包含在方括号内的,以逗号分隔的多个元素的集合,类型是list
Item{
children:[
Image{},
Text{}
]
}
- 可以用[value1, value2, …, valueN]这种形式给list对象赋值。
- length属性提供了列表内元素的个数。
- 列表内的元素通过数组下标来访问。
#####4、信号处理器
等价于 槽 。
形式:on< Single >
#####5、分组属性
Text{
font.pixelSize: 18;
font.bold: true;
}
也可以写成
Text{
font{ pixelSize: 18; bold: true; }
}