Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import wx
- class Dialog(wx.Dialog):
- def __init__(self, parent):
- wx.Dialog.__init__(self, parent,
- style = wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER)
- self.sizer = wx.BoxSizer(wx.VERTICAL)
- self.panel = wx.Panel(self)
- self.panelSizer = wx.BoxSizer(wx.VERTICAL)
- self.button = wx.Button(self.panel, -1, "Show panel")
- self.button.Bind(wx.EVT_BUTTON, self.onbutton)
- self.panelSizer.Add(self.button, wx.ALIGN_CENTER | wx.TOP, 5)
- self.subPanel = wx.Panel(self.panel, -1, size = (600, 400))
- wx.StaticText(self.subPanel, -1, "Some filler text")
- print "Initial size is",self.subPanel.GetSize()
- self.panelSizer.Add(self.subPanel, 1,
- wx.EXPAND | wx.ALIGN_CENTER | wx.ALL, 5)
- self.subPanel.Hide()
- self.panel.SetSizerAndFit(self.panelSizer)
- self.sizer.Add(self.panel)
- self.SetSizerAndFit(self.sizer)
- ## User clicked the show/hide scanning experiment button.
- def onbutton(self, event):
- self.subPanel.Show(not self.subPanel.IsShown())
- self.button.SetLabel("%s panel" % ['Show', 'Hide'][self.subPanel.IsShown()])
- print self.subPanel.GetSize(), self.button.GetSize()
- self.panel.SetSizerAndFit(self.panelSizer)
- print self.panel.GetSize(), self.subPanel.GetSize(), self.button.GetSize()
- self.SetSizerAndFit(self.sizer)
- app = wx.App(redirect = False)
- frame = wx.Frame(None)
- frame.Show()
- Dialog(frame).Show()
- app.MainLoop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement