Qt QML之QML文档结构

QML文档结构

一个QML文档是一个自包含QML源代码片段,由两部分组成:

  • 导入声明
  • 单根对象声明

按照习惯,导入部分和对象层次的定义部分用空行分开。

QML文档常常使用UTF-8格式编码。

导入

一个文档必须导入所需要的模块和类型命名空间,以便引擎可以加载文档中引用的QML对象类型。默认情况下,一个QML文档可以访问同目录下的所有.qml文件中定义的QML对象类型;如果一个文档需要引用任何其他的对象类型,该文档必须导入这些类型所注册的类型命名空间。

与C/C++不同,在呈现给QML引擎之前,QML语言没有预处理器来修改文档。导入声明并不是将代码拷贝并追加在文档的前面,而是命令QML引擎如何解析文档中所引用的类型。QML文档中的所有的类型引用,比如Rectangle、ListView,以及JavaScript块或者属性类属性的绑定,完全依赖于导入声明进行解析。至少需要一个导入声明,比如 import QtQuick 2.0。

详见QML Syntax-Import Statements了解QML导入的更加深入的信息。

根对象声明

一个QML文档描述一个可以实例化的对象层次结构。每个对象的定义都具有一定的结构;每个对象都有类型,可以有id、对象名、属性类属性、方法、信号以及信号处理器。

一个QML文档必须包含且仅有一个单根对象定义。下面是一个无效的,将会生成错误的例子:

// MyQmlFile.qml
  import QtQuick 2.0

  Rectangle { width: 200; height: 200; color: "red" }
  Rectangle { width: 200; height: 200; color: "blue" }    // invalid!

因为一个.qml文件自动定义一个QML类型,其中封装了单个QML对象定义。这部分内容在Documents as QML object type definitions中进一步讨论。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值