StaticBoxSizer problems

Matthias Kluwe mkluwe at gmail.com
Thu Mar 9 11:59:05 EST 2006


Hi!

If anybody's interested, I've got an solution now.

> I'd like to place several StaticBoxes in a frame, but I can't get it
> right.

> 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)
> upper_sizer = wx.StaticBoxSizer(upper_box)

Oops. That's a thinko. upper_box is no sizer. The right line must be

box.Add(item=upper_sizer, flag=wx.GROW)

> upper_sizer.Add(wx.Button(parent=frame, label="Button"))
> frame.Show()
> app.MainLoop()

> [...]

> 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).

This is still to be solved.

Regards,
Matthias




More information about the Python-list mailing list