首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >特性api创建新的特性和改变特性的行为

特性api创建新的特性和改变特性的行为
EN

Stack Overflow用户
提问于 2015-10-25 20:06:28
回答 1查看 61关注 0票数 0

我经常发现自己处于这样的境地:

代码语言:javascript
复制
class A:...

B=class
    a=Instance(A,())
    @on_trait_change('a')##I would really like to be able to do this
    def do_something(...)

我认为,如果要重置整个类,则当前会触发此事件。例如b=B()。b.a=A()应该会触发它。但是,我想控制我的自定义类何时发出“已更改”的信号。如果仅仅是A的一个成员被改变了,人们可能希望A发出“已改变”的信号。例如,b.a.x+=1

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-26 12:08:36

如果AB都是从HasTraits派生出来的,那么将您的装饰器更改为@on_trait_change('a.+')就可以完成您想做的事情。如果将do_something的签名更改为两个或多个参数,甚至可以检测a的哪些属性发生了更改。(见manual/notification.html#notification-handler-signatures.)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33334507

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档