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的关联