概述

QML(Qt Modeling Language)是一种基于JavaScript的声明式编程语言,用于快速开发富客户端应用程序。它允许开发者使用类似于HTML和CSS的方式来描述用户界面,并通过JavaScript扩展其功能。同时,QML大量使用了Qt,因此QML可以直接访问类型和其他Qt特性。

基本语法

导入语句

1
import <ModuleIdentifier> [<Version.Number>] [as <Qualifier>]   

其中,<ModuleIdentifier>是模块的标识符,例如QtQuick、QtCharts等。<Version.Number>是可选的版本号,用于指定要导入的模块的具体版本。<Qualifier> 是一个可选的本地命名空间标识符,如果给定,模块提供的对象类型和 JavaScript 资源将被安装到该命名空间中。如果省略,模块提供的对象类型和 JavaScript 资源将安装到全局命名空间。例如:import QtQuick 2.15 as Quick

对象声明

对象声明描述了要创建的对象的类型和属性。例如:

1
2
3
4
5
6
7
impot QtQuick
Ractangle {
id: myRectangle
width: 100
height: 100
color: "red"
}

在上面的简单例子中,创建了一个Rectangle对象,并设置了它的id、宽度、高度和颜色。当然,还有更多属性可以设置,例如边框、边框宽度、圆角等,具体可以查阅官方文档。创建对象时,可以使用id属性为它命名,以便在QML代码中引用。
当然,也可以在已创建的对象中嵌套创建其他的对象,例如:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import QtQuick
Window {
id: window
width: 640
height: 480
visible: true
title: qsTr("My First QML Demo")

Ractangle {
id: myRectangle
width: 100
height: 100
color: "red"
}
}

在上面的代码中,先创建了一个Window对象,并为它设置了id、宽度、高度、可见性以及标题。然后在Window对象中嵌套创建了一个Rectangle对象,并为它设置了id、宽度、高度和颜色。运行这个代码将会显示一个窗口,窗口左上角有一个红色的矩形。可以通过设置Rectangle对象的x和y属性来改变它的位置或者使用anchors属性来相对于父对象进行定位。