<p>这实际上是相当微不足道的。你只需要用两个盒子大小就可以得到你想要的效果。参见以下代码:</p>
<pre><code>import wx
########################################################################
class SmallPanel(wx.Panel):
""""""
#
def __init__(self, parent):
"""Constructor"""
wx.Panel.__init__(self, parent, size=(50,50))
self.SetBackgroundColour("red")
########################################################################
class MainPanel(wx.Panel):
""""""
#
def __init__(self, parent):
"""Constructor"""
wx.Panel.__init__(self, parent)
top_sizer = wx.BoxSizer(wx.VERTICAL)
h_sizer = wx.BoxSizer(wx.HORIZONTAL)
top_sizer.AddStretchSpacer(prop=1)
mini_panel = SmallPanel(self)
h_sizer.AddStretchSpacer(prop=1)
h_sizer.Add(mini_panel, 0, wx.ALL, 5)
top_sizer.Add(h_sizer, 0, wx.EXPAND)
self.SetSizer(top_sizer)
########################################################################
class MainFrame(wx.Frame):
""""""
#
def __init__(self):
"""Constructor"""
wx.Frame.__init__(self, None, title="Panels")
panel = MainPanel(self)
self.Show()
if __name__ == '__main__':
app = wx.App(False)
frame = MainFrame()
app.MainLoop()
</code></pre>
<p>如果运行此代码,应该会看到如下所示:</p>
<p><img src="https://i.stack.imgur.com/vP22b.png" alt="enter image description here"/></p>