使用Group对象组织界面
from traitsui.api import Group

from traits.api import HasTraits,Int,Str
from traitsui.api import View,Item,Group
#View描述了界面的视图类,Item模块描述了界面中的控件类
class ModelManager(HasTraits):
model_name = Str
category = Str
model_file = Str
model_number = Int
vertices = Int
view1 = View(
Group(
Item("model_name", label=u"模型名称"),
Item("model_file", label=u"文件名"),
Item("category", label=u"模型类型"),
label=u"模型信息",
show_border=True
),
Group(
Item("model_number", label=u"模型数量"),
Item("vertices", label=u"顶点数量"),
label=u"统计数据",
show_border=True
),
)
model = ModelManager()
model.configure_traits()


view1 = View(
Group(
Group(
Item("model_name", label=u"模型名称"),
Item("model_file", label=u"文件名"),
Item("category", label=u"模型类型"),
label=u"模型信息",
show_border=True
),
Group(
Item("model_number", label=u"模型数量"),
Item("vertices", label=u"顶点数量"),
label=u"统计数据",
show_border=True
),
)
)

view1 = View(
Group(
Group(
Item("model_name", label=u"模型名称"),
Item("model_file", label=u"文件名"),
Item("category", label=u"模型类型"),
label=u"模型信息",
show_border=True
),
Group(
Item("model_number", label=u"模型数量"),
Item("vertices", label=u"顶点数量"),
label=u"统计数据",
show_border=True
),
orientation="horizontal"
),
)

Group派生类(对很多属性值进行默认设置)

view1 = View(
HSplit( #大布局水平
VGroup( #小布局内部垂直
Item("model_name", label=u"模型名称"),
Item("model_file", label=u"文件名"),
Item("category", label=u"模型类型"),
label=u"模型信息",
show_border=True
),
VGroup(
Item("model_number", label=u"模型数量"),
Item("vertices", label=u"顶点数量"),
label=u"统计数据",
show_border=True
),
orientation="horizontal"
),
)





内外部视图
from traits.api import Property,HasTraits,Float,cached_property,Int,Str,Event,on_trait_change
from traitsui.api import View,Item,Group,HSplit,VGroup
#View描述了界面的视图类,Item模块描述了界面中的控件类
g1 = [
Item("model_name", label=u"模型名称"),
Item("category", label=u"模型类型"),
]
g2 = [
Item("model_number", label=u"模型数量"),
Item("vertices", label=u"顶点数量"),
]
class ModelManager(HasTraits):
model_name = Str
category = Str
model_number = Int
vertices = Int
traits_view = View(
Group(*g1,label=u"模型信息",show_border=True),
Group(*g2,label=u"统计数据",show_border=True),
title=u"内部视图"
)
global_view = View(
Group(*g1,label=u"模型信息",show_border=True),
Group(*g2,label=u"统计数据",show_border=True),
title=u"外部视图"
)
model = ModelManager()
>>> model.configure_traits() #默认是内部视图

>>> model.configure_traits(view="traits_view") #有选择的选中某个内部视图

>>> model.configure_traits(view=global_view) #直接将外部视图赋给view
