嵌套 HasTraits 对象的视图
views on Nested HasTraits object
使用嵌套 HasTraits
,我无法让视图按预期工作。例如:
class A(HasTraits):
b= Any()
...
view = View(...
Item('b', style='custom')
...
我想导入b的class赋值给A,
from some_other_mod import B
# B HasTraits also
a = A(b = B())
这有效,但是 B()
的视图不显示在 a
中,当我 a.configure_traits()
(注意这与 this post 相关,但不完全相同)
您需要使用 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
。
使用嵌套 HasTraits
,我无法让视图按预期工作。例如:
class A(HasTraits):
b= Any()
...
view = View(...
Item('b', style='custom')
...
我想导入b的class赋值给A,
from some_other_mod import B
# B HasTraits also
a = A(b = B())
这有效,但是 B()
的视图不显示在 a
中,当我 a.configure_traits()
(注意这与 this post 相关,但不完全相同)
您需要使用 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
。