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
  • 10117

QML的 property 支持的类型

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

解读QML之四

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

【QT】QML几种属性

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

Qt之自定义属性Q_PROPERTY

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

QML ---- Keyboard Focus in QML --- 键盘交互

当一个键被按或者释放的时候,一个Key事件就被创建并且传递给当前 QML中焦点Item。   1. 按键处理概述 当用户按或者释放一个按键的时候,如下将发生: QT 接受到按键动作,并且产...

QML学习:对象和属性

qml学习:对象和属性 本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明. 参考文档> 环境: 主机:WIN7 开发环境:Qt ...
  • jdh99
  • jdh99
  • 2013年09月26日 16:51
  • 2814

Linux - 别名(alias) 详解

别名(alias) 详解 本文地址: http://blog.csdn.net/caroline_wendy/article/details/22666127 alias程序, 创...

Qt/QML 窗口阴影边框实现

前言在Qt界面开发中,很多时候为了UI的整体美观,都会在窗体添加阴影边框,这样会让整个窗体更加漂亮,用户体验会更好,那么,接下来介绍几种在项目中常用的添加阴影边框的方式,其中包括QWidget和QML...

QML QuickItem鼠标键盘处理

使用QML和C++混合编程,要处理键盘事件,和鼠标事件一样,也是个麻烦事。 键盘事件与鼠标事件的一大不同是,鼠标事件是有坐标的,而键盘事件没有坐标,所以处理鼠标事件的前提是控件获得了焦点(focus...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:QML alias别名使用
举报原因:
原因补充:

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