QML 类型系统¶
QML类型系统的描述
在QML文档中定义对象层次结构时可能使用的类型可以来自各种来源。它们可能是:
由QML语言原生提供
通过QML模块注册的C++
由QML模块提供的QML文档
此外,应用程序开发者可以通过直接注册C++类型,或者在QML文档中定义可重用的组件(然后可以导入)来提供他们自己的类型。
无论类型定义来自何处,引擎都将强制执行这些类型的属性和实例的类型安全。
QML 值类型¶
QML语言内置支持各种基本类型,包括整数、双精度浮点数、字符串和布尔值。对象可能具有这些类型的属性,并且这些类型的值可以作为参数传递给对象的方法。
有关值类型的更多信息,请参阅QML 值类型文档。
QML 对象类型¶
QML对象类型是一种可以从其实例化QML对象的类型。QML对象类型是从QtObject派生的,并由QML模块提供。应用程序可以导入这些模块以使用它们提供的对象类型。QtQuick模块提供了在QML中创建用户界面所需的最常见的对象类型。
最后,每个QML文档隐式定义了一个QML对象类型,可以在其他QML文档中重复使用。有关对象类型的详细信息,请参阅QML类型系统中的对象类型的文档。
QML 序列类型¶
序列类型可用于存储值或对象的序列。
请参阅关于QML类型系统中的序列类型的文档,以获取关于序列类型的深入信息。
QML 命名空间¶
QML命名空间可用于从C++命名空间暴露枚举。
请参阅关于QML类型系统中的命名空间的文档以获取关于命名空间的深入信息。
JavaScript 类型¶
QML 引擎支持 JavaScript 对象和数组。可以使用通用的 var 类型创建和存储任何标准的 JavaScript 类型。
例如,标准的Date和Array类型是可用的,如下所示:
详情请参见QML文档中的JavaScript表达式。