我无法弄清楚我做错了什么。我刚刚从 Tkinter 跳到 wxPython,我正在尝试找出 BoxSizer。我会查找这个问题,但我什至不知道该查找什么。这个面板填充了 Frame 的空间,它应该显示一行文本,下面有一个进度条,并且应该占据面板底部 1/5 左右,水平居中(最终我要在其后面添加背景图像)。但发生的情况是我只看到文本,并且从顶部向下仅约 40%,与窗口的左边缘对齐。这是代码:
class KhPanel(wx.Panel):
def __init__(self, parent, configSet, selectWindow):
wx.Panel.__init__(self, parent=parent)
self.frame = parent
self.configSet = configSet
whichWindow = getattr(self, selectWindow)
whichWindow()
def configWindow(self):
gaugeWidth = (1/5)*self.configSet["width"]
gaugeHeight = (1/10)*self.configSet["height"]
gaugeMax = 100
topBuffer = (8/10)*self.configSet["height"]
itemSep = (1/16)*self.configSet["height"]
vSizer = wx.BoxSizer(wx.VERTICAL)
textSizer = wx.BoxSizer(wx.HORIZONTAL)
progressSizer = wx.BoxSizer(wx.HORIZONTAL)
configText = wx.StaticText(self, label="STUFF", style=wx.ALIGN_CENTER)
configProgressBar = wx.Gauge(self, range=gaugeMax, size=(gaugeWidth, gaugeHeight))
textSizer.Add(configText, 1, wx.ALIGN_CENTER, 0)
progressSizer.Add(configProgressBar, 1, wx.ALIGN_CENTER, 1)
vSizer.Add(textSizer, 1, wx.TOP, topBuffer)
vSizer.Add(progressSizer, 1, wx.TOP, itemSep)
self.SetSizer(vSizer)
vSizer.Fit(self)
return
如果您需要信息,configSet.width 和 height 是父窗口的宽度和高度(当前为 340 x 270)。在这种情况下,selectWindow 是“configWindow”