import wx # Some classes to use for the notebook pages. Obviously you would # want to use something more meaningful for your application, these # are just for illustration. class PageOne(wx.Panel): def __init__(self, parent): wx.Panel.__init__(self, parent) t = wx.StaticText(self, -1, "This is a PageOne object", (20,20)) class PageTwo(wx.Panel): def __init__(self, parent): wx.Panel.__init__(self, parent) t = wx.StaticText(self, -1, "This is a PageTwo object", (40,40)) class PageThree(wx.Panel): def __init__(self, parent): wx.Panel.__init__(self, parent) t = wx.StaticText(self, -1, "This is a PageThree object", (60,60)) class MainFrame(wx.Frame): def __init__(self): wx.Frame.__init__(self, None, title="Simple Notebook Example") # Here we create a panel and a notebook on the panel p = wx.Panel(self) nb = wx.Notebook(p) # create the page windows as children of the notebook page1 = PageOne(nb) page2 = PageTwo(nb) page3 = PageThree(nb) # add the pages to the notebook with the label to show on the tab nb.AddPage(page1, "Page 1") nb.AddPage(page2, "Page 2") nb.AddPage(page3, "Page 3") # finally, put the notebook in a sizer for the panel to manage # the layout sizer = wx.BoxSizer() sizer.Add(nb, 1, wx.EXPAND) p.SetSizer(sizer) if __name__ == "__main__": app = wx.App() MainFrame().Show() app.MainLoop()