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文件当做组件使用 本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明. 参考文档> 环境: 主机:WIN7 开发环境:...
  • jdh99
  • jdh99
  • 2013年10月05日 10:14
  • 10729

QML的 property 支持的类型

QML 的 property 支持的类型
  • qyvlik
  • qyvlik
  • 2016年03月10日 19:17
  • 3574

解读QML之四

解读QML之四 QML对象属性         每一个QML对象类型都定义了一系列属性。每创建一个该对象类型的实例,该实例的这些属性也自动被创建了。接下来我们讨论几种不同类型的属性。 id属性 ...
  • chenlong12580
  • chenlong12580
  • 2013年03月08日 23:49
  • 21427

【QT】QML几种属性

每一个QML对象都定义了一系列属性,类似于C++中的成员变量,属性名的首字母一般小写,若属性名以多个单词表示,那么第二个及以后的单词,首字母大写。 id属性—— QML对象的id属性是唯一的,不同对象...
  • iEearth
  • iEearth
  • 2014年12月05日 13:41
  • 2621

Qt之自定义属性Q_PROPERTY

QT提供了一个成熟的属性系统,但是作为一个跨平台的且与编译器无关的库,qt不依赖于非标准的编译器功能例如 __property or [property]; QT的强大之处在于它可以支持任何标准的c...
  • u010780613
  • u010780613
  • 2015年12月23日 14:52
  • 4753

QML概念及框架--QML的作用域

QML属性绑定、内联函数和导入的JavaScript文件都运行在一个JavaScript作用域。作用域控制表达式可以访问哪些变量,以及当两个或多个名字冲突时,哪个,哪个变量优先。因为JavaScrip...
  • u012419303
  • u012419303
  • 2015年05月25日 11:21
  • 1633

在Qt quick项目中组合不同的qml文件

QT 用多个qml文件组装GUI
  • sheismylife
  • sheismylife
  • 2013年12月26日 11:32
  • 6619

Qt中路径问题小结

在做Qt项目的时候,我们难免遇到到文件路径问题。如QFile file("text.txt")加载不成功、               QPixmap("../text.png") 加载图片不成功等等...
  • Andy_93
  • Andy_93
  • 2016年10月16日 16:43
  • 9570

alias:别名设置与删除,别名永久生效、常用快捷键

alias ls='ls --color=auto'(这个只是临时成效) alias vi='vim'(这个只是临时生效) unalias vi (删除别名,这个也只是临时生效) 要想设置的别名...
  • u012110719
  • u012110719
  • 2014年12月31日 13:18
  • 3510

QML alias别名使用

使用QML实现一个自定义按钮,如下: Rectangle{ width: 300;height: 300 Rectangle { id:button_type ...
  • DEV_linux
  • DEV_linux
  • 2015年11月19日 15:32
  • 3476
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:QML alias别名使用
举报原因:
原因补充:

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