qml 中定义变量

原文地址::https://blog.csdn.net/weixin_34195364/article/details/91826891

相关文章

1、【qml】QML中使用全局变量----https://blog.csdn.net/qq_43248127/article/details/93381355

2、QML中使用全局变量----https://zhuanlan.zhihu.com/p/34920979

3、[讨论]qml怎么定义全局变量----http://www.qtcn.org/bbs/read-htm-tid-63275.html

 

property属性

       一个property是对象的一个属性,可以被赋为静态值或者是绑定到动态表达式上。一个property的值可以被其它的对象读取。一般情况下,property属性也可以被其它对象修改,除非该QML类型明确指定该property属性不能被修改。

【定义property属性】

  一个property属性可以在C++中定义,并且通过Q_PROPERTY注册到QML类型系统。当然,我们也可以在QML文档中通过如下语法自定义对象的property属性:

1362757316_9680.png

 

        通过这种方式,一个对象可以将一些特定的值暴露给其它对象,或者是更加简便的维护一些内部状态。

        Property属性的名称必须以小写字母开头,且只能包含字母,数字和下划线。JavaScript的保留关键字不能作为property属性的名称。Default关键字是可选的,对于default以及default属性修改者的详细信息稍后讨论。

        定义一个自定义的property属性也就为该property属性隐式的创建了一个value-change信号,也就是关联了一个名为on<PropertyName>Changed的signal handler。<PropertyName>就是property属性的名称,而且首字母要大写。

        例如:下面就定义了两个property属性,并且实现了其signalhandler:

1362757333_2094.png

 

【自定义property属性的合法类型】

     QML基本类型中的枚举类型都可以作为自定义property属性类型。例如:下面都是合法的property属性声明:

1362757355_6372.png

 

       一些QtQuick模块提供的基本类型是不能作为property类型的,除非在QML文档中导入QtQuick模块。

      var基本类型是通用的类型,可以保存任意类型的值,包括lists和objects:

1362757365_3151.png

 

       另外,任何的QML对象类型都可以被用作property属性类型。例如:

1362757441_9264.png

 

       这对于自定义QML类型也是适用的。如果在ColorfulButton.qml文件中定义了一个QML类型,那么ColorfulButton类型的property属性也是合法的。

【合法的property属性值】

我们可以通过两种方式为定义的property属性的值:

 *初始化

 *赋值

 值可以是静态值也可以是绑定表达式。

{初始化}

   Property属性初始化:

1362757460_1739.png

 

    我们可以在定义property属性的时候,也进行初始化赋值:

1362757470_7566.png

 

      初始化赋值举例如下:

1362757492_1400.png

http://blog.csdn.net/chenlong12580/article/details/8652597

转载于:https://blog.51cto.com/sysq2012cto/1336543

相关资源:QML语法详解

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值