traits ui mayavi场景的可变数量和运行时特征的可视化

时间:2015-10-29 03:54:34

标签: enthought mayavi traitsui

我想在GUI中呈现可变数量的场景(水平排列),根据运行时条件组成不同的数据视图?

我真的不想重新定义GUI,以及每个用例的一些场景相关特征。 (即bool_scene_1_viewable = Bool(),bool_scene_2_viewable = Bool()...)

看起来我可能能够定义通配符特征:scene_ = Instance(Scene,())。但是,如果这是最好的方法,我将如何将n个特征组合成一个视图?

1 个答案:

答案 0 :(得分:0)

(A)我没有区分“运行时”依赖性,只是依赖于初始化后(但在调用config_traits之前)声明的一些特征数。因此,我可以使用default_traits_view创建一个视图,该视图取决于对象及其成员的当前状态。

(B)我也对如何将这个list_of_scenes变成一个可以查看的对象感到困惑。毕竟,HGroup和VGroup不接受列表!我错过了*可用于解压缩列表。

步骤: 1. init 类实例

foo=Foo()
  1. 随意添加场景
  2. foo.add_trait(string_scene_name,scene)
    foo.scene_name_list.append(string_scene_name)
    foo.scene_list.append(scene)
    
    1. 在default_traits_view()
    2. 中创建群组
      items=[Item(name,style='custom') for name in self. scene_name_list]
      scene_group=Group( *items)