Matthias Kluwe wrote: > Hi! > > I'd like to place several StaticBoxes in a frame, but I can't get it > right. > > Consider the following code: > > import wx > > app = wx.PySimpleApp() > frame = wx.Frame(parent=None, title="Test") > box = wx.BoxSizer(wx.VERTICAL) > frame.SetSizer(box) > upper_box = wx.StaticBox(parent=frame, label="Upper Box") > box.Add(item=upper_box, flag=wx.GROW) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
You should remiove this line. > upper_sizer = wx.StaticBoxSizer(upper_box) > upper_sizer.Add(wx.Button(parent=frame, label="Button")) > frame.Show() > app.MainLoop() > > This should show a frame containing a StaticBox which contains a > button, but: The button is not placed within the StaticBox. Hmm. > > Additionally: wx.StaticBoxSizer.__init__.__doc__ says that a > StaticBoxSizer is created by __init__(self, StaticBox box, int > orient=HORIZONTAL). But if I change the line > > upper_sizer = wx.StaticBoxSizer(upper_box) > > to > > upper_sizer = wx.StaticBoxSizer(StaticBox=upper_box) > > I get the error: TypeError: new_StaticBoxSizer() takes at least 1 > argument (0 given). > > What am I missing? > Generally speaking what you appear to be missing is a methodical approach to GUI consruction. This reminds me of a lot of my early experiments with wxPython code :-) Less is more, but it *does* take a while to get the hang of sizers and the like. regards Steve -- Steve Holden +44 150 684 7255 +1 800 494 3119 Holden Web LLC/Ltd www.holdenweb.com Love me, love my blog holdenweb.blogspot.com -- http://mail.python.org/mailman/listinfo/python-list