在 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 }

【QML item】item中属性应用的更多相关文章

  1. VB类模块中属性的参数——VBA中Range对象的Value属性和Value2属性的一点区别

    在VB中,属性是可以有参数的,而VBA中属性使用参数非常常见.比如最常用的:Worksheet.Range("A1:A10")  VB的语法,使用参数的不一定是方法,也有可能是属性 ...

  2. [原创]java WEB学习笔记48:其他的Servlet 监听器:域对象中属性的变更的事件监听器 (3 个),感知 Session 绑定的事件监听器(2个)

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...

  3. 为什么Nhibernate中属性和方法必须Virtual的

    如果你曾经用过NHibernate 2.0或者更高的版本,那您一定碰到过下面的错误:NHibernate.InvalidProxyTypeException: The following types ...

  4. qml学习:对象和属性

    qml学习:对象和属性 本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明. 参考文档<<Qt及Qt Quick开发实战精解.pdf>> ...

  5. [Tips]ASP.NET MVC 发布到服务器后Model中属性相关的Attribute失效

    Asp.net MVC4 开发的项目,发布到真实环境环境后Model中的一个属性设置的了Attribute,但是这些Attribute都失效. 经过对比和坚持代码发现控制长度的Attribute使用错 ...

  6. 坑爹的vector iterators incompatible错误(VS中属性页-->C/C++-->代码生成-->>运行库)

    之前一直被这个错误折磨着,就是不知道问题在那,后来找了很多资料,大概都是说这是因为多个线程同时操作vector的问题(参考这里).可是我这里的代码并没有问题,因为同样的代码在别的解决方案中已经成功运行 ...

  7. <mate>标签中属性/值的各个意思

    <mate>标签中属性/值的各个意思 HTML 4 name 属性 1.<mate name="author" content="" /> ...

  8. Flex的 Event中属性currentTarget与target的区别

    Flex的 Event中属性currentTarget与target的区别 1.区别 (1)currentTarget是事件的处理对象(event processor) (2)target是事件的调用 ...

  9. 【JVM虚拟机】(7)---深入理解Class中-属性集合

    #[JVM虚拟机](7)---深入理解Class中-属性集合 之前有关class文件已经写了两篇博客: 1.[JVM虚拟机](5)---深入理解JVM-Class中常量池 2.[JVM虚拟机](6)- ...

  10. C# 求链表 list 中 属性的 最大值 最小值

    获取链表List中对象属性最大值最小值(Max,Min)的方法: 1.创建一个类,类中有一个属性A /// <summary> /// 用于测试属性的类 /// </summary& ...

随机推荐

  1. buck参数工具分享

    工具链接:https://cnblogs-img.oss-cn-hangzhou.aliyuncs.com/docs/buck.xls

  2. maixpy 常用API整理

    2.openmvAPI整理 2.1 cmath - 复数的数学函数 cos cmath.cos(z) 返回z的余弦. exp cmath.exp(z) 返回z的指数. log cmath.log(z) ...

  3. 破局AI问答专有名词检索迷局:分词期神器强势登场!

    有客户深度使用全文检索模式检索分段,反馈一些专有名词无法被检索到(例如把"小米手机"分成了"小米"和"手机"两个词,对检索结果造成较大干扰) ...

  4. 企业如何通过数据资产化,激活“数据要素x”,乘出新质生产力

    放眼全球,数据作为一种新兴生产要素,在全球经贸活动中扮演着至关重要的角色,驱动着数字经济的蓬勃兴起.据前瞻预测,至2025年,全球数据流动对整体经济增长的贡献预估将达到惊人的11万亿美元. 近几年国家 ...

  5. HyperWorks作业递交面板设置

    用户可以在 Batch Mesh Tab 中,选取待处理的零部件几何模型(Geometry File),并为每个零部件几何模型调用专属网格方案(Mesh Type). 图 3-43 作业递交面板 Ba ...

  6. UFT issue

  7. 你的终端AI副驾

    Google 重磅推出了 Gemini CLI,这是一款基于 Gemini 大模型驱动的命令行工具. 它把强大的生成式 AI 能力无缝整合进终端,能通过自然语言对话帮你写代码.梳理项目.自动化任务等, ...

  8. C#中数组(byte[])复制 拷贝

    https://blog.csdn.net/alisa525/article/details/12518927 1,Array.Copy在CLR处理机制中最灵活,最强大,可装箱,拆箱复制,可加宽CLR ...

  9. java 两个对象copy,并移除或添加一些属性

    前言 目前遇到了 后端查到的数据和我想给前端返回的数据 不太一致的困惑. 因为不想因为返回给前端少一个字段,我这边就用不成了select *. 所以听了@朱杰 大佬的建议,这样搞. 其实这样我也不满意 ...

  10. springBoot2.x启用https和兼容http

    前言之前我嫌弃tomcat(spring)项目,开启https麻烦,所以一直都是nginx代理为https.今儿突然不想了.在springBoot2.x的情况下,直接开启https,并兼容http方式 ...