我正在使用 wx.BoxSizers 来对齐我的(这里是简化的)程序的元素。我需要蓝色面板 1 的形状为 4:3 的纵横比,但要扩展以填充框架,为此我给它的比例=1。但是我希望文本直接位于 panel1 下方,但尽可能小(portion=0)
然而,当我设置它时,panel1 会向下扩展(尽管它被认为是成形的),并且文本被推到窗口的底部。即使调整了窗口大小,我也希望文本“拥抱”panel1。我该如何解决?谢谢!
import wx
class myWindow(wx.Window):
def __init__(self, parent, size):
wx.Window.__init__(self, parent=parent, size=size)
self.SetBackgroundColour(wx.BLUE)
class MainWindow(wx.Frame):
def __init__(self, parent):
wx.Frame.__init__(self, parent=parent, size=(500,500) )
self.panel1 = myWindow(self, size=(400,300))
self.text = wx.StaticText(self, label="This is text.")
self.mainSizer = wx.BoxSizer(wx.VERTICAL)
self.mainSizer.Add(self.panel1, 1, wx.ALIGN_TOP |
wx.SHAPED | wx.EXPAND | wx.ALL, border=10)
self.mainSizer.Add(self.text, 0, wx.EXPAND |
wx.ALIGN_TOP | wx.LEFT, border=10)
self.SetSizer(self.mainSizer)
self.Show()
app = wx.App(False)
panel = MainWindow(None)
app.MainLoop()