科学计算三维可视化---Traits(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

 

posted @ 2018-07-14 10:26  山上有风景  阅读(369)  评论(0编辑  收藏  举报