我无法使用嵌套的HasTraits
让视图按预期工作。例如:
class A(HasTraits):
b= Any()
...
view = View(...
Item('b', style='custom')
...
我想导入b的类并将其分配给A,
from some_other_mod import B
# B HasTraits also
a = A(b = B())
这样可行,但当B()
a
的视图不显示在a.configure_traits()
中
(注意这是相关的,但与this post不相同)
答案 0 :(得分:2)
您需要使用InstanceEditor
。
class A(HasTraits):
b = Instance(HasTraits)
traits_view = View( Item('b', editor=InstanceEditor(), style='custom') )
class B(HasTraits):
c = Int
traits_view = View( Item('c') )
请注意,Instance
特征默认使用InstanceEditor
。默认情况下,Any
特征会改为使用TextEditor
。