2012-01-25 10 views
2

私はPythonでEnthoughtのTraitsUIを使ってGUIプログラムを書いています。私は、同じオブジェクトの異なるビューをユーザーの操作に応じて切り替えることができるようにしたいと考えています。それは可能ですか?traitsuiクラスのビューを切り替えることはできますか?

次は約私が何をしたいのかを示しています。

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() 

答えて

0

たぶん、あなたはビューを切り替えることではなく、あなたの一部のグループの定義におけるvisible_whenキーワードを使用することにより、あなたがいない望む効果を得ることができますビュー。例にはいくつか触発されています: examples/demo/Dynamic_Forms/visible_when.py

関連する問題