QML基本语法

来源:互联网 发布:c语言源文件 编辑:程序博客网 时间:2024/05/21 13:22

1QML文件

下面的例子是一个简单的QML文件:

// main.qmlimport QtQuick 2.3Rectangle {    width: 500    height: 100    color: "lightblue"    Rectangle {        width: 50; height: 50        anchors.centerIn: parent        color: "red"    }}
QML文件的后缀是qml,如main.qmlMyQml.qml2main.qml_main.qml,文件名的首字母大小写是有区别的,大写时该文件名(如此处的MyQml)可以当作一个QML元素来用,就好像是自定义了一个新的QML类型,用法同QML自己的元素(如Rectangle)一样,首字母可以是数字或下划线,看起来虽说有点别扭,但也是正确的。QML文件有两部分组成,一个是import导入部分(类似于C/C++include头文件),如“importQtQuick2.3”,导入了QtQuick模块,版本号是2.3,另一个是对象声明部分,如Rectangle{...}RectangleQtQuick模块提供的对象类型,紧随其后的花括号中的是Rectanglewidthheightcolor属性和Rectangle子对象。

2QMLimport导入部分

QMLimport导入部分形式是多种多样的,基本语法如下:

import <ModuleIdentifier> <Version.Number> [as <Qualifier>]import "<DirectoryPath>" [as <Qualifier>]import "<JavaScriptFile>" as <Identifier>
例如:

import QtQuick 2.3import QtQuick 2.3 as Quickimport “../MyComponents” import “../MyComponents” as Compoimport “somefile.js” as Script
Qualifier/Identifier实际上是把导入的东西放进了一个名字空间,使用时必须以这个名字空间开头来引用其内容(如Quick.Rectangle),另外,还可以从网络导入,例如:

import “http://www.my-server.com/myproject/myapp/mycomponents”import “http://evil.com/evil.js” as Evil
导入网络目录时,该目录下还须包含一个qmldir文件。

3QML对象声明(主体)部分

QML根对象有且仅有一个,在根对象下,可以有属性、信号、函数、子对象,对象可以嵌套。属性的形式是“property:value”,属性可以分行书写,此时语句末尾加或不加分号均可,也可以把属性写在一行内,此时多个属性间以分号隔开,如上面的例子所示。

4QML注释

QML注释的语法类似JavaScriptC++:单行注释以“//”开始,行尾结束;多行注释以“/*”开始,“*/”结束。


1 0