QML基础:基本类型的属性更改信号

引言

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

基本类型的属性更改信号

一些基本类型具有属性(例如:Text类型具有pixelSize,family和bold属性)。与对象类型的属性不同,基本类型的属性不提供自己属性更改信号,只能为基本类型属性本身创建属性更改信号处理程序:

Text {
    // invalid!
    onFont.pixelSizeChanged: doSomething()

    // also invalid!
    font {
        onPixelSizeChanged: doSomething()
    }

    // but this is ok
    onFontChanged: doSomething()
}

请注意,每当基本类型的属性发生更改以及属性本身发生更新时,都会发出基本类型的属性更改信号。以下面的代码为例:

Text {
    onFontChanged: console.log("font changed")

    Text { id: otherText }

    focus: true

    // 更改任何字体属性,或将属性重新分配为其他字体值,将调用onFontChanged处理程序
    Keys.onDigit1Pressed: font.pixelSize += 1
    Keys.onDigit2Pressed: font.b = !font.b
    Keys.onDigit3Pressed: font = otherText.font
}

相反,对象类型的属性会发出自己的属性更改信号,并且仅在将属性重新分配给其他对象值时才调用对象类型属性的属性更改信号处理程序。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值