+++ /dev/null
-
-import wx
-
-
-class TestNotebook(wx.Notebook):
- def __init__(self, parent, ID=-1):
- wx.Notebook.__init__(self, parent, ID)
-
- # page 1
- # just a panel with a small fixed size
- p = wx.Panel(self, size=(50,50))
- self.AddPage(p, "page 1")
-
- # page 2
- # a medium sized panel with manually layed out controls
- p = wx.Panel(self)
- b = wx.Button(p, -1, "a button", (20,20))
- b = wx.Button(p, -1, "another button", (80,80))
- b = wx.Button(p, -1, "and yet another button", (140,140))
- b.Bind(wx.EVT_BUTTON, self.ShowBestSizes)
- self.AddPage(p, "page 2")
-
- # page 3
- # a larger panel with lots of controls in a sizer.
- text = "one two buckle my shoe three four shut the door "\
- "five six pick up sticks seven eight lay them straight "\
- "nine ten big fat hen"
- p = wx.Panel(self)
- fgs = wx.FlexGridSizer(cols=4, vgap=5, hgap=5)
- for word in text.split():
- label = wx.StaticText(p, -1, word+":")
- tc = wx.TextCtrl(p, -1, "", size=(120,-1))
- fgs.Add(label, flag=wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL | wx.LEFT, border=10)
- fgs.Add(tc, flag=wx.RIGHT, border=10)
- box = wx.BoxSizer()
- box.Add(fgs, 1, wx.EXPAND|wx.ALL, 10)
- p.SetSizer(box)
- self.AddPage(p, "page 3")
-
-
- # show the best size of each page
- def ShowBestSizes(self, evt):
- for num in range(self.GetPageCount()):
- page = self.GetPage(num)
- print page.GetBestSize()
-
-
-if __name__ == '__main__':
- app = wx.PySimpleApp()
- f = wx.Frame(None, -1, "Notebook Test")
- nb = TestNotebook(f)
- s = wx.BoxSizer()
- s.Add(nb) # notebook is added directly to the sizer
- f.SetSizer(s)
- s.Fit(f) # sizer calculates layout to set frame size
- f.Show()
- app.MainLoop()
-