QML alias别名使用

在此使用建立一个button来说明alias别名的使用,使用QML实现一个自定义按钮,如下:

Rectangle{
    width: 300;height: 300
    Rectangle {
        id:button_type
       // property alias text: textElement.text;
        width: 60; height: 30
        border.color: "steelblue";border.width:2
        anchors.centerIn: parent
        radius: 8
        color: "mediumaquamarine"
        Text {
            id: textElement
            anchors.centerIn: parent
            font.pointSize: 10
            style: Text.Raised;
            text:"click me"
            color: "black"
        }
    }
}
效果:

这只是一个简单的样式,其中的按钮名字,需要在text中给出,但是如果我们需要很多按钮,就得这样重复的去写,这样很是麻烦。要是我们能做一个这样的按钮,并且后面可以直接调用这样的样式,就想一个函数一样,我们只管把按钮名字传入,就可以直接使用这个按钮,那就好多了,那么我们就可以使用QML中的alias别名。达到我们想要的。

下面就讲解怎么使用:

alias作用:允许我们转发一个属性或者转发一个属性对象到另一个作用域。对于上面Button.qml中的代码,
Rectangle和Text是两个属性,而按钮名字是属于Text的text,那么我们需要把text从Text中转发出来给Rectangle。那么接下来Button.qml就编程下面这样。

Rectangle {
        id:button_type
        property alias text: textElement.text;
        width: 60; height: 30
        border.color: "steelblue";border.width:2
        anchors.centerIn: parent
        radius: 8
        color: "mediumaquamarine"
        Text {
            id: textElement
            anchors.centerIn: parent
            font.pointSize: 10
            style: Text.Raised;
           // text:"click me"
            color: "black"
        }
}

代码加大,加下划线的就是我们加的别名,其中的text就没要了。这样就给Rectangle添加了一个别名。那么我们在使用这样一个Button.qml的时候,就相当方便,使用如下:

Rectangle{
    width: 300;height: 300
    Button{
        text:"button"
    }
}
运行效果如下:


名字就是我们调用的地方给的了。如果要给按钮一些点击效果,同样方法。


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值