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:
78
wxPython/samples/wxPIA_book/Chapter-11/boxsizer.py
Normal file
78
wxPython/samples/wxPIA_book/Chapter-11/boxsizer.py
Normal file
@@ -0,0 +1,78 @@
|
||||
import wx
|
||||
from blockwindow import BlockWindow
|
||||
|
||||
labels = "one two three four".split()
|
||||
|
||||
class TestFrame(wx.Frame):
|
||||
title = "none"
|
||||
def __init__(self):
|
||||
wx.Frame.__init__(self, None, -1, self.title)
|
||||
sizer = self.CreateSizerAndWindows()
|
||||
self.SetSizer(sizer)
|
||||
self.Fit()
|
||||
|
||||
class VBoxSizerFrame(TestFrame):
|
||||
title = "Vertical BoxSizer"
|
||||
|
||||
def CreateSizerAndWindows(self):
|
||||
sizer = wx.BoxSizer(wx.VERTICAL)
|
||||
for label in labels:
|
||||
bw = BlockWindow(self, label=label, size=(200,30))
|
||||
sizer.Add(bw, flag=wx.EXPAND)
|
||||
return sizer
|
||||
|
||||
|
||||
class HBoxSizerFrame(TestFrame):
|
||||
title = "Horizontal BoxSizer"
|
||||
|
||||
def CreateSizerAndWindows(self):
|
||||
sizer = wx.BoxSizer(wx.HORIZONTAL)
|
||||
for label in labels:
|
||||
bw = BlockWindow(self, label=label, size=(75,30))
|
||||
sizer.Add(bw, flag=wx.EXPAND)
|
||||
return sizer
|
||||
|
||||
class VBoxSizerStretchableFrame(TestFrame):
|
||||
title = "Stretchable BoxSizer"
|
||||
|
||||
def CreateSizerAndWindows(self):
|
||||
sizer = wx.BoxSizer(wx.VERTICAL)
|
||||
for label in labels:
|
||||
bw = BlockWindow(self, label=label, size=(200,30))
|
||||
sizer.Add(bw, flag=wx.EXPAND)
|
||||
|
||||
# Add an item that takes all the free space
|
||||
bw = BlockWindow(self, label="gets all free space", size=(200,30))
|
||||
sizer.Add(bw, 1, flag=wx.EXPAND)
|
||||
return sizer
|
||||
|
||||
class VBoxSizerMultiProportionalFrame(TestFrame):
|
||||
title = "Proportional BoxSizer"
|
||||
|
||||
def CreateSizerAndWindows(self):
|
||||
sizer = wx.BoxSizer(wx.VERTICAL)
|
||||
for label in labels:
|
||||
bw = BlockWindow(self, label=label, size=(200,30))
|
||||
sizer.Add(bw, flag=wx.EXPAND)
|
||||
|
||||
# Add an item that takes one share of the free space
|
||||
bw = BlockWindow(self,
|
||||
label="gets 1/3 of the free space",
|
||||
size=(200,30))
|
||||
sizer.Add(bw, 1, flag=wx.EXPAND)
|
||||
|
||||
# Add an item that takes 2 shares of the free space
|
||||
bw = BlockWindow(self,
|
||||
label="gets 2/3 of the free space",
|
||||
size=(200,30))
|
||||
sizer.Add(bw, 2, flag=wx.EXPAND)
|
||||
return sizer
|
||||
|
||||
app = wx.PySimpleApp()
|
||||
frameList = [VBoxSizerFrame, HBoxSizerFrame,
|
||||
VBoxSizerStretchableFrame,
|
||||
VBoxSizerMultiProportionalFrame]
|
||||
for klass in frameList:
|
||||
frame = klass()
|
||||
frame.Show()
|
||||
app.MainLoop()
|
Reference in New Issue
Block a user