编程语言
首页 > 编程语言> > 特质列表处理程序不响应=列表扩展

特质列表处理程序不响应=列表扩展

作者:互联网

from traits.api import List, HasTraits

class Foo(HasTraits):
   x = List
   def _x_items_changed(self,new):
      print new.added

f = Foo()
f.x = [1,3]
f.x.append(9) #handler reacts!
f.x += [9,10] # handler does not react! Why?

我在这里想念什么?

谢谢!

解决方法:

这是一个错误. TraitListObject覆盖了extend()和其他变异方法以传播更改,但忽略了__iadd __().解决方法是使用extend()代替=.

标签:traits,enthought,python
来源: https://codeday.me/bug/20191029/1962178.html