2015-01-07 1 views

ответ

0

Widgets наследуют от wx.Window поэтому они имеют метод IsShown

import wx 
from wx.lib import sized_controls 


class TestFrame(sized_controls.SizedFrame): 

    def __init__(self, *args, **kwargs): 
     super(TestFrame, self).__init__(*args, **kwargs) 

     pane = self.GetContentsPane() 
     self.btn = wx.Button(pane, label='Hide') 
     self.btn.Bind(wx.EVT_BUTTON, self.on_btn) 
     self.btn_hidden = wx.Button(pane, label='Hidden?') 

     self.s_txt = wx.StaticText(pane, label='Button shown: True') 

    def on_btn(self, event): 
     is_shown = not self.btn_hidden.IsShown() 
     self.btn_hidden.Show(is_shown) 
     self.s_txt.SetLabel('Button shown: {}'.format(is_shown)) 
     if is_shown: 
      self.btn.SetLabel('Hide') 
     else: 
      self.btn.SetLabel('Show') 

if __name__ == '__main__': 
    wxapp = wx.App(False) 
    main_app_frame = TestFrame(None) 
    main_app_frame.Show() 
    wxapp.MainLoop() 
Смежные вопросы