Simple wx.Notebook Example

A simple example of using a wx.Notebook to implement a tabbed interface with 3 page windows.

   1 import wx
   2 
   3 
   4 # Some classes to use for the notebook pages.  Obviously you would
   5 # want to use something more meaningful for your application, these
   6 # are just for illustration.
   7 
   8 class PageOne(wx.Panel):
   9     def __init__(self, parent):
  10         wx.Panel.__init__(self, parent)
  11         t = wx.StaticText(self, -1, "This is a PageOne object", (20,20))
  12 
  13 class PageTwo(wx.Panel):
  14     def __init__(self, parent):
  15         wx.Panel.__init__(self, parent)
  16         t = wx.StaticText(self, -1, "This is a PageTwo object", (40,40))
  17 
  18 class PageThree(wx.Panel):
  19     def __init__(self, parent):
  20         wx.Panel.__init__(self, parent)
  21         t = wx.StaticText(self, -1, "This is a PageThree object", (60,60))
  22 
  23 
  24 class MainFrame(wx.Frame):
  25     def __init__(self):
  26         wx.Frame.__init__(self, None, title="Simple Notebook Example")
  27 
  28         # Here we create a panel and a notebook on the panel
  29         p = wx.Panel(self)
  30         nb = wx.Notebook(p)
  31 
  32         # create the page windows as children of the notebook
  33         page1 = PageOne(nb)
  34         page2 = PageTwo(nb)
  35         page3 = PageThree(nb)
  36 
  37         # add the pages to the notebook with the label to show on the tab
  38         nb.AddPage(page1, "Page 1")
  39         nb.AddPage(page2, "Page 2")
  40         nb.AddPage(page3, "Page 3")
  41 
  42         # finally, put the notebook in a sizer for the panel to manage
  43         # the layout
  44         sizer = wx.BoxSizer()
  45         sizer.Add(nb, 1, wx.EXPAND)
  46         p.SetSizer(sizer)
  47 
  48 
  49 if __name__ == "__main__":
  50     app = wx.App()
  51     MainFrame().Show()
  52     app.MainLoop()

Simple wx.Notebook Example (last edited 2008-03-11 10:50:30 by localhost)

NOTE: To edit pages in this wiki you must be a member of the TrustedEditorsGroup.