QML基础:QML属性绑定(Binding)

引言

用了N年的QWidget,因为项目需求而开始学习QML做一些动态的界面,下面开始记录学习QML的新路历程。
注:学习有误的望指点一二,不喜勿喷!!!

QML属性绑定

属性绑定就是建立目标对象对其他对象的依赖关系,当其他对象值发生改变时,目标对象也会改变,自动更新属性,达到动态属性的效果。

绑定到不可访问的属性

有时,有必要将一个对象的属性绑定到另一个未由QML实例化的对象属性,例如C++导出到QML的类的属性。可以使用Binding类型来建立此依赖关系,将任何值绑定到任何对象的属性。
例如:在将“app.enteredText”属性映射到QML的C++应用程序中,可以使用Binding来更新enteredText属性。

TextEdit { id: myTextField; text: "Please type here..." }
Binding { target: app; property: "enteredText"; value: myTextField.text }

当text发生改变时,C++属性enteredText会自动更新。

条件绑定

在某些情况下,可能希望在满足特定条件时修改属性的值,否则不修改。通常,使用直接绑定是无法实现的,因为必须把所有可能的分支都提供值。
例如,每当释放鼠标时,下面的代码段都会

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值