每当我在 GridBagSizer 中使用 span 时,我都会遇到问题,这是我的代码:
hbox3.Add(arrangeLabel)
hbox3.Add(self.arrangeComboBox, flag=wx.LEFT, border=10)
sizer.Add(hbox3, pos=(7,0), span=(7,3), flag=wx.ALL, border=15)
#######################
hbox4 = wx.BoxSizer(wx.HORIZONTAL)
runButton = wx.Button(panel, -1, label='Run', size=(50,25))
saveButton = wx.Button(panel, -1, label='Save', size=(50,25))
cancelButton = wx.Button(panel, -1, label = 'Cancel', size=(50,25))
hbox4.Add(runButton)
hbox4.Add(saveButton, flag=wx.LEFT, border=10)
hbox4.Add(cancelButton, flag=wx.LEFT, border=10)
sizer.Add(hbox4, pos=(8,0), flag=wx.ALIGN_CENTER_HORIZONTAL)
sizer.AddGrowableCol(1)
panel.SetSizer(sizer)
在第三行,我的 hbox3 范围从 7,0 到 7,3。这在某种程度上影响了我的第 8 行,我的第 8 行将消失在 window 的角落里。即使我将 pos=(8,0) 更改为 pos=(9,0) 我仍然遇到同样的问题。我解决这个问题的唯一方法是去掉span=(7,3),这使得我的GUI看起来非常难看。
我的问题是什么?
最佳答案
我认为您误解了 span
参数。 span=(7,3)
告诉 sizer 将小部件从起始位置拉伸(stretch)到 7 行 3 列。如果您希望它覆盖 7,0 到 7,3,请尝试 span=(1,4)
。
关于python - wxpython GridBagSizer问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5364329/