【QML item】item中属性应用
在 QML 中,属性是一种非常重要的元素,它用于存储和表示对象的状态信息。以下是关于 QML 属性的详细说明。
1 import QtQuick 2.15
2
3 Item {
4 //1、
5 // 用于存储整数
6 property int width: 100
7 // 用于存储浮点数
8 property real price: 10.5
9 // 存储二维点信息
10 property point position: Qt.point(10,20)
11 // 存储尺寸信息
12 property size itemSize: Qt.size(50,50)
13 // 存储URL信息
14 property url imageUrl: "http://example.com/image.jpg"
15
16 //当声明一个属性时,可以为其指定一个默认值。如果没有指定,基本类型的默认值通常为零值(例如,int 为 0,string 为空字符串
17 // bool 为 false),对象类型的默认值为 null。
18
19
20 property color backgroundColor: "red"
21 property var customObject: SomeCustomType {}
22 // 声明一个整数类型的自定义属性
23 property int myIntegerProperty: 42;
24 // 声明一个字符串类型的自定义属性
25 property string myStringProperty: "Hello, QML";
26 // 声明一个布尔类型的自定义属性
27 property bool myBooleanProperty: true;
28 // 声明一个颜色类型的自定义属性
29 property color myColorProperty: "blue";
30 // 声明一个自定义 QML 类型的属性,这里就会发现,属性的类型也可以是QML的基本组件类型
31 property Rectangle myRectangleProperty: Rectangle {
32 width: 50;
33 height: 50;
34 color: "red";
35 }
36 // 声明一个 JavaScript 对象类型的属性
37 property var myJavaScriptObjectProperty: {
38 "name": "John",
39 "age" : "30",
40 };
41 // 声明一个列表类型的自定义属性
42 property list<int> myIntegerListProperty: [1, 2, 3, 4, 5];
43
44
45 // 2、
46 //当声明一个属性时,可以为其指定一个默认值。如果没有指定,基本类型的默认值通常为零值(例如,int 为 0,string 为空字符串
47 // bool 为 false),对象类型的默认值为 null。
48 property int count // 默认值为 0
49 property string name: "Default Name" // 显式设置默认值
50
51
52 //3、
53 //可写属性:默认情况下,使用 property 关键字声明的属性是可写的,可以在代码中修改其值;
54 //只读属性:可以使用 readonly 关键字声明只读属性,这样属性的值在声明后不能被修改。
55 //value1可写
56 property int value1: 10
57 //fixedValue只读
58 readonly property int fixedValue: 50
59 Component.onCompleted: {
60 value1= 20; // 可以修改 value1 属性的值
61 }
62
63
64 //4、属性的别名
65 //属性别名允许一个属性引用另一个属性,使用 alias 关键字声明。
66 //这样可以方便地将内部属性暴露给外部,或者在不同的对象之间共享属性。
67 property int value: 100
68 // 这里声明了aliasValue 是 value 的别名,以后就可以用aliasValue来代替value 使用
69 property alias aliasValue: value
70
71
72 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律