QML教程(一)基础语法

本文介绍了QML中的对象声明,包括模块导入、对象树结构、坐标系统和堆叠规则。此外,详细讲解了对象属性的声明,如信号属性、方法属性、枚举属性以及如何赋值。还提到了自定义对象的创建,以MessageLabel为例展示了如何定义和使用自定义组件。

目录

一、导入

二、对象声明

 三、对象属性

1.声明对象属性

2.信号属性

3.方法属性

4.附加属性略 

5.枚举属性 

6.对象属性赋值

四、自定义对象


一、导入

  1. 模块导入
    语法:
    import <ModuleIdentifier> [<Version.Number>] [as <Qualifier>]

    例:

    import QtQuick
    import QtQuick 2.10
    import QtQuick as Quick
  2. 目录导入
    语法:
    import "<DirectoryPath>" [as <Qualifier>]

    例:

    import "../privateComponents"
    import "../textwidgets" as MyModule

二、对象声明

  1. 对象
    对象声明由其对象类型的名称组成,后跟一组大括号。然后,所有属性和子对象都在这些大括号内声明。例:
    import QtQuick 2.0
    
    Rectangle {
        width: 100
        height: 100
        color: "red"
    }
  2. 对象树中的子对象
    任何对象声明都可以通过嵌套对象声明定义子对象。这样,任何对象声明都会隐式声明可能包含任意数量的子对象的对象树。例:
    import QtQuick 2.0
    
    Rectangle {
        width: 100
        height: 100
    
        gradient: Gradient {
            GradientStop { position: 0.0; color: "yellow" }
            GradientStop { position: 1.0; color: "green" }
        }
    }
  3. 视觉场景中的子对象
    视觉场景中父子关系的概念由模块中的 Item 类型提供,这是大多数 QML 类型的基本类型,因为大多数 QML 对象都是要直观呈现的。例如,“矩形”和“文本”都是基于Item的类型
    import QtQuick 6.2
    
    Rectangle {
        width: 200
        height: 200
        color: 'red'
    
        data: [
            Text {
                anchors.centerIn: parent
                text: qsTr("Hello QML")
            }
        ]
    }
    

    简写形式

    import QtQuick 6.2
    
    Rectangle {
        width: 200
        height: 200
        color: 'red'
    
        Text {
            anchors.centerIn: parent
            text: qsTr("Hello QML")
        }
    }
    
  4. 坐标
    Qt Quick中使用的默认视觉坐标系统是项目坐标。这是一个笛卡尔坐标系,(0,0) 位于项目的左上角。x 轴向右增长,y 轴向下增长,因此项目的右下角位于坐标(宽度、高度)处。坐标数值是指在其父容器中的坐标。例:
    Rectangle {
        width: 200
        height: 200
        color: "red"
    
        Rectangle {
            x: 100
            y: 100
            width: 100
            height: 100
            color: "blue"
    
            Rectangle {
                width: 50
                height: 50
                color: "green"
            }
        }
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

文子阳

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值