我正在使用 Enthought 的 TraitsUI 在 Python 中编写一个 GUI 程序。我希望能够响应用户的操作在同一对象的不同 View 之间切换。有可能吗?
下面大致演示了我想做的事情:
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()
请您参考如下方法:
也许您可以通过在作为 View 一部分的组定义中使用 visible_when 关键字来实现您想要的效果,而不是通过切换 View 。示例中有一些启发: examples/demo/Dynamic_Forms/visible_when.py
