是否可以在traitsui类中切换视图?

时间:2012-01-25 15:28:07

标签: python traits

我正在使用Enthought的TraitsUI在python中编写GUI程序。我希望能够在响应用户操作的同一对象的不同视图之间切换。有可能吗?

以下内容大致展示了我想要做的事情:

from enthought.traits.api import HasTraits, Button
from enthought.traits.ui.api import View, Item

class Test(HasTraits):
    button1 = Button('Button 1')
    button2 = Button('Button 2')
    button3 = Button('Button 3')

    traits_view = View(Item('button1'), Item('button2'))
    view2 = View(Item('button1'), Item('button3'))

    def _button1_fired(self):
        #select view2
        pass

    def _button3_fired(self):
        #select traits_view
        pass

if __name__ == "__main__":
    test = Test()
    test.configure_traits()

1 个答案:

答案 0 :(得分:0)

也许你可以通过切换视图来实现你想要的效果,但是通过在视图中使用组的定义中使用visible_when关键字。这些例子中有一些灵感: examples/demo/Dynamic_Forms/visible_when.py