52 lines
1.5 KiB
Python
52 lines
1.5 KiB
Python
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() |