科学计算三维可视化---Traits(Event和button属性)

本文介绍Trait库中Event和Button属性的使用方法,并通过实例演示如何设置事件监听器以响应对象属性的变化。

Event和button属性

是两个专门用于处理事件的change属性

Event属性和其他Trait属性不一样

 Button属性是由Event属性继承而来的

Event监听

from traits.api import HasTraits,Int,Str,Event,on_trait_change

class Child(HasTraits):
    name = Str("ZhangSan")
    age = Int(4)
    Infoupdated = Event

    #建立监听函数
    @on_trait_change("name,age")
    def Info_changed(self):
        self.Infoupdated = True #当name或者age被修改时,相应的监听函数Infoupdated将会被调用

    def _Infoupdated_fired(self):
        self.reprint()

    def reprint(self):
        print("reprint Information: %s,%s"%(self.name,self.age))

 

 结果测试

>>> child = Child()
>>> child.name = "Lisi"  #修改,触发事件
reprint Information: Lisi,4  
>>> child.age = 1
reprint Information: Lisi,1
>>> child.age = 1      #由于结果未改变不会触发事件
>>>
>>> child.Infoupdated = 0  #只要给该属性赋值就会触发对应的事件
reprint Information: Lisi,1
>>> child.Infoupdated = 1111
reprint Information: Lisi,1

 

转载于:https://www.cnblogs.com/ssyfj/p/9308724.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值