关闭

QML alias别名使用

标签: QML buttonqml aliasqml别名
2104人阅读 评论(1) 收藏 举报
分类:

在此使用建立一个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
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:62555次
    • 积分:1131
    • 等级:
    • 排名:千里之外
    • 原创:51篇
    • 转载:40篇
    • 译文:0篇
    • 评论:1条
    文章分类
    最新评论