Можно ли переключаться между представлениями в классе traitsui? - PullRequest
2 голосов
/ 25 января 2012

Я пишу программу с графическим интерфейсом на python с TraitsUI от Enthought. Я хочу иметь возможность переключаться между различными представлениями одного и того же объекта в ответ на действия пользователя. Возможно ли это сделать?

Следующее примерно демонстрирует, что я хочу сделать:

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 голосов
/ 03 мая 2012

Возможно, вы можете добиться желаемого эффекта не путем переключения представлений, а с помощью ключевого слова visible_when в определении группы, которая является частью вашего представления.В примерах есть вдохновение: examples / demo / Dynamic_Forms / visible_when.py

...