1. QT-QML类型系统全景解析
作为QT框架的核心组成部分,QML的类型系统是构建动态界面的基石。本文将系统梳理QML中所有可用类型,包括基础类型、对象类型和自定义类型三大类,并通过典型场景演示其应用方式。
提示:本文基于QT 6.4版本,部分类型在早期版本中可能不可用
1.1 基础数据类型
QML的基础类型是构建复杂界面的原子单位,主要包括以下类别:
1.1.1 数值类型
int:32位有符号整数,范围-2,147,483,648到2,147,483,647real:双精度浮点数,等价于C++的doublebool:布尔值true/false
qml复制property int counter: 100
property real opacity: 0.5
property bool isActive: true
1.1.2 字符串与颜色
string:UTF-8编码字符串color:支持多种格式的颜色定义- 名称法:
"red" - 十六进制:
"#RRGGBB" - RGB:
"rgb(255,0,0)" - RGBA:
"rgba(255,0,0,0.5)"
- 名称法:
qml复制Text {
text: "Hello QML"
color: "#FF0000"
}
1.1.3 复合类型
list:动态类型数组var:通用类型容器enum:枚举类型
qml复制property list<Item> childItems
property var dynamicData: [1, "text", true]
enum Status { Ready, Loading, Error }
1.2 对象类型系统
QML对象类型是构建UI的模块化组件,主要分为以下几类:
1.2.1 可视元素
Item:所有可视元素的基类Rectangle:带颜色和边框的矩形Text:文本显示组件Image:图像显示组件
qml复制Rectangle {
width: 100; height: 100
c
