wx.EXPAND
在 grid sizer 中向两个方向扩展。您将需要嵌套的 box sizer 来覆盖此行为。
import wx
class MainWindow(wx.Frame):
def __init__(self, *args, **kwargs):
wx.Frame.__init__(self, *args, **kwargs)
self.panel = wx.Panel(self)
self.label = wx.StaticText(self.panel, label="Label")
self.text = wx.TextCtrl(self.panel)
self.button = wx.Button(self.panel, label="+", size=(50, 50))
self.sizer = wx.GridBagSizer(5, 5)
self.nested = wx.BoxSizer()
self.sizer.Add(self.label, (0, 0), flag=wx.ALIGN_CENTER_VERTICAL)
self.sizer.Add(self.nested, (0, 1), flag=wx.EXPAND)
self.nested.Add(self.text, proportion=1, flag=wx.ALIGN_CENTER)
self.sizer.Add(self.button, (0, 2))
self.sizer.AddGrowableCol(1)
self.panel.SetSizerAndFit(self.sizer)
self.Show()
app = wx.App(False)
win = MainWindow(None)
app.MainLoop()
更多信息在wxPython 邮件列表中。