QML alias别名使用

原创 2015年11月19日 15:32:49

在此使用建立一个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"
    }
}
运行效果如下:


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


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

解读QML之四

解读QML之四 QML对象属性         每一个QML对象类型都定义了一系列属性。每创建一个该对象类型的实例,该实例的这些属性也自动被创建了。接下来我们讨论几种不同类型的属性。 id属性 ...

QML学习:QML文件当做组件使用

QML学习:QML文件当做组件使用 本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明. 参考文档> 环境: 主机:WIN7 开发环境:...
  • jdh99
  • jdh99
  • 2013-10-05 10:14
  • 9643

QML文件之间的参数互相调用问题

不同QML文件之间的参数互相调用 Button

QML的 property 支持的类型

QML 的 property 支持的类型
  • qyvlik
  • qyvlik
  • 2016-03-10 19:17
  • 2667

使用Qt开发跨平台桌面应用时,应该选择widgets还是qml?

以下文章来自知乎: 如果是桌面平台,劝题主还是使用Widgets。也别搞QML为主,widget为辅这一套了。不够麻烦钱的。不知道 @韦易笑 这么推荐是从哪方面考虑的。而我的理由如下: 1,...

QML之添加应用程序图标

使用QML实现的程序中,想加入自己的logo图标的方法: 1.如果你的图标是JPG,png格式的图片,请先将其转为ico格式,网上很多的转换工具。 2.找到你工程里面的.pro文件,在里面添加一句...

Linux —— alias 别名

Linux —— alias 别名 总得有个外号吧。。。 如果急需知道 alias 的用法,你只需看第一部分代码:[Centos 7.0] #vim ~/.bashrc 加入 alias tom=...

Linux系统的命令别名功能(alias)

Linux系统的命令别名功能   命令别名功能    在管理和维护Linux系统的过程中,将会使用到大量命令,有一些很长的命令或用法经常被用到,重复而频繁地输入某个很长命令或用法是不...
  • ccfxue
  • ccfxue
  • 2016-09-30 09:59
  • 1477
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)