我有两个班,是HasTraits的子班。 这种情况:
view =View(
VGroup(
HGroup(
Label(u' '),
Item(
"bt_import", label=' '
),
Item(
"bt_export", label=' '
),
show_left=False
),
HGroup(
Label(u' '),
Item(
"signalplot",
editor=ComponentEditor(size=(600, 300)),
show_label=False
),
Label(u' '),
),
HGroup(
Label(u' '),
Item(
"spectrumplot",
editor=ComponentEditor(size=(600, 300)),
show_label=False
),
Label(u' '),
),
),
width=600,
height=800,
resizable=False,
title=u"FFT 过滤"
)
在这里,我会放两节课。 signalplot< -signal class和spectrumplot< -spectrum class 两课:
class Signal(HasTraits):
view = View()
.......
class Spectrum(HasTraits):
view = View()
.......
这个案例,如何制作两个班? 以及如何在界面中放置两个类?
答案 0 :(得分:1)
您正在寻找的模式是:
class MySignalSpectrumView(HasTraits):
sig = Instance(Signal)
spec = Instance(Spectrum)
if __name__ == "__main__":
mssv = MySignalSpectrumView()
mssv.configure_traits(view=view)
也就是说,您在模型类上调用edit_traits
或configure_traits
并将其传递给您要使用的视图。
定义traits_view = View(...)
将提供默认使用的视图。
Traits,TraitsUI和Chaco附带的docs和demos目录中有很多很好的例子。