QML属性

本文详细介绍了QML中的属性系统,包括ID属性、属性特性、定义属性、属性赋值、特殊属性类型等。重点讲解了ID属性的唯一性、属性的读写权限、属性别名的使用限制以及如何定义和使用信号属性。同时,还探讨了方法属性、附加属性和枚举属性等概念,为深入理解QML编程提供了基础。
摘要由CSDN通过智能技术生成

1. 类型名称必须以大写字母开头

导入语法

一个QML文档可以在文件顶部具有一个或多个导入。导入可以是以下任意一项:

  • 已注册类型的版本化名称空间(例如,通过插件)
  • 在相对目录中包含qml类型定义的文件
  • 一个JavaScript文件

各种import的通用形式如下:

  • import Namespace VersionMajor.VersionMinor
  • import Namespace VersionMajor.VersionMinor as SingletonTypeIdentifier
  • import "directory"
  • import "file.js" as ScriptIdentifier

例子:

import QtQuick 2.0
import QtQuick.LocalStorage 2.0 as Database
import "../privateComponents"
import "somefile.js" as Script

QML对象属性

QML对象类型属性类型集如下:

  • the id attribute
  • property attributes
  • signal attributes
  • signal handler attributes
  • method attributes
  • attached properties and attached signal handler attributes
  • enumeration attributes

 

ID属性(特殊属性)

每种QML对象类型都只有一个id属性。此属性由语言本身提供,

id值必须以小写字母或下划线开头,并且不能包含字母,数字和下划线以外的字符。

id必须唯一

id定义后不能通过属性赋值进行修改

import QtQuick 2.0

Column {
    width: 200; height: 200

    TextInput { id: myTextInput; text: "Hello World" }

    Text { text: myTextInput.text }
}

 

属性的特性

一个属性的值可以被其他对象读取。通常,它也可以由另一个对象修改,除非特定的QML类型明确禁止特定属性使用。、

定义属性的特性

在C++中使用Q_PROPERTY进行定义后,会注册到QML类型系统中,还可以在QML文档中使用

[default] property <propertyType> <propertyName>

进行注册。这样,就可以属性值暴露给外部对象。

属性名称必须以小写字母开头,并且只能包含字母,数字和下划线。JavaScript保留字不是有效的属性名称。

声明自定义属性会隐式创建该属性的值更改信号以及名为on <PropertyName> Changed的关联

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值