QML学习笔记之语法

        QML是一种声明性语言,用于描述对象之间的关系。QtQuick是一个基于QML之上的框架,用于构建应用程序的用户界面。它将用户界面分解成小元素,这些元素也可以组合成组件。QtQuick可以设置这些元素的外观和行为。也可以使用JavaScript代码丰富用户界面,以提供简洁而复杂的逻辑。从这个角度来看,它遵循HTML-JavaScript模式,但是为QML和QtQuick重新设计过,且不是简单文本文档。

// RectangleExample.qml
 
import QtQuick
 
// The root element is the Rectangle 根元素是矩形
Rectangle {
    // name this element root 将此元素id命名为root
    id: root
 
    // properties: <name>: <value> 属性:<名称>:<值>
    width: 120; height: 240
 
    // color property 颜色属性
    color: "#4A4A4A"
 
    // Declare a nested element (child of root) 声明一个嵌套元素(根的子元素)
    Image {
        id: triangle
 
        // reference the parent 引用父对象属性
        x: (parent.width - width)/2; y: 40
 
        source: 'assets/triangle_red.png'
    }
 
    // Another child of root 根的另一个子元素
    Text {
        // un-named element 无id的元素
 
        // reference element by id 通过id引用元素属性
        y: triangle.y + triangle.height + 20
 
        // reference root element 参考根元素属性
        width: root.width
 
        color: 'white'
        horizontalAlignment: Text.AlignHCenter
        text: 'Triangle'
    }
}

以上述代码为例子:

(1)import语句导入一个模块。版本号省略,形式为<主版本号>.<次版本号>

(2)每个QML文件都需要有一个根元素,类似HTML

(3)元素先类型声明,后跟{}(rectangle是矩形)

(4)元素有属性,形式是 属性名: 属性值

(5)QML文档中的属性,可以通过它们的id(不带引号)来访问

(6)元素可以嵌套,即父元素可以有子元素。可以使用parent访问父元素属性

ps:

        使用import语句,可以按名称导入QML模块。在Qt5中,你必须指定一个主、次版本号(例如2.15),但在Qt6中可以省略的。对于本书的内容,我们省略了版本号,这相当于自动选用Qt开发套件中的最新版本。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值