Added the sample code from wxPython In Action to the samples dir
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42925 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
45
wxPython/samples/wxPIA_book/Chapter-11/staticboxsizer.py
Normal file
45
wxPython/samples/wxPIA_book/Chapter-11/staticboxsizer.py
Normal file
@@ -0,0 +1,45 @@
|
||||
import wx
|
||||
from blockwindow import BlockWindow
|
||||
|
||||
labels = "one two three four five six seven eight nine".split()
|
||||
|
||||
class TestFrame(wx.Frame):
|
||||
def __init__(self):
|
||||
wx.Frame.__init__(self, None, -1, "StaticBoxSizer Test")
|
||||
self.panel = wx.Panel(self)
|
||||
|
||||
# make three static boxes with windows positioned inside them
|
||||
box1 = self.MakeStaticBoxSizer("Box 1", labels[0:3])
|
||||
box2 = self.MakeStaticBoxSizer("Box 2", labels[3:6])
|
||||
box3 = self.MakeStaticBoxSizer("Box 3", labels[6:9])
|
||||
|
||||
# We can also use a sizer to manage the placement of other
|
||||
# sizers (and therefore the windows and sub-sizers that they
|
||||
# manage as well.)
|
||||
sizer = wx.BoxSizer(wx.HORIZONTAL)
|
||||
sizer.Add(box1, 0, wx.ALL, 10)
|
||||
sizer.Add(box2, 0, wx.ALL, 10)
|
||||
sizer.Add(box3, 0, wx.ALL, 10)
|
||||
|
||||
self.panel.SetSizer(sizer)
|
||||
sizer.Fit(self)
|
||||
|
||||
|
||||
def MakeStaticBoxSizer(self, boxlabel, itemlabels):
|
||||
# first the static box
|
||||
box = wx.StaticBox(self.panel, -1, boxlabel)
|
||||
|
||||
# then the sizer
|
||||
sizer = wx.StaticBoxSizer(box, wx.VERTICAL)
|
||||
|
||||
# then add items to it like normal
|
||||
for label in itemlabels:
|
||||
bw = BlockWindow(self.panel, label=label)
|
||||
sizer.Add(bw, 0, wx.ALL, 2)
|
||||
|
||||
return sizer
|
||||
|
||||
|
||||
app = wx.PySimpleApp()
|
||||
TestFrame().Show()
|
||||
app.MainLoop()
|
Reference in New Issue
Block a user