Panel on top of Staticbox

L. Fanchi wrote:

Hello,

I want to place a panel on top a Staticbox that is currently placed on another panel (contained in a Frame).
The second panel displays properly, but underneath the Staticbox.

wx.StaticBox is a little weird in that the things that appear to be within it are not supposed to be children if it like they would be for other widget types. Instead the staticbox and the widgets it will appear to contain should be siblings. In other words, they have the same parent. Here is a little example:

import wx

class MainPanel(wx.Panel):
     def __init__(self, *args, **kw):
         wx.Panel.__init__(self, *args, **kw)

         sb = wx.StaticBox(self, -1, "The StaticBox")
         sbs = wx.StaticBoxSizer(sb, wx.VERTICAL)
         otherPanel = wx.Panel(self)
         otherPanel.SetBackgroundColour("pink")
         sbs.Add(otherPanel, 1, wx.EXPAND)

         sizer = wx.BoxSizer()
         sizer.Add(sbs, 1, wx.EXPAND|wx.ALL, 30)
         self.SetSizer(sizer)

app = wx.App(redirect=False)
frm = wx.Frame(None, title="Testing")
pnl = MainPanel(frm)
frm.Show()
app.MainLoop()

ยทยทยท

--
Robin Dunn
Software Craftsman
http://wxPython.org Java give you jitters? Relax with wxPython!