【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 }
复制代码

 

posted @   taohuaxiaochunfeng  阅读(10)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示