wxPython:如何使用wx.sizer类之一指定特定列的宽度?

wxPython:如何使用wx.sizer类之一指定特定列的宽度?,python,wxpython,Python,Wxpython,我正在尝试设置如下内容: 然而,我在弄明白这一点时遇到了很多麻烦。我使用这个通用函数将对象列表包装在wx.gridsizer中,然后将其添加到wx.StaticBoxSizer中,以获得所有对象的边界。然后将staticBoxsizer返回main,以添加到主垂直box sizer def buildHorizontalSizer(self, objects, label=None): if label: box = wx.StaticBox(self.panel, -1

我正在尝试设置如下内容:

然而,我在弄明白这一点时遇到了很多麻烦。我使用这个通用函数将对象列表包装在
wx.gridsizer
中,然后将其添加到
wx.StaticBoxSizer
中,以获得所有对象的边界。然后将
staticBox
sizer返回main,以添加到主垂直box sizer

def buildHorizontalSizer(self, objects, label=None):
    if label:
        box = wx.StaticBox(self.panel, -1, label)
        # for i in dir(box):
        #   print i
        sizer = wx.StaticBoxSizer(box, wx.HORIZONTAL)
    else:
        sizer = wx.BoxSizer(wx.HORIZONTAL)

    grid = wx.GridBagSizer(hgap=3, vgap=0)
    for i in range(len(objects)):
        if i==0:
            grid.Add(objects[i], flag=wx.ALIGN_RIGHT)
        else:
            grid.Add(objects[i], flag=wx.ALIGN_LEFT)
    sizer.Add(grid)
    return sizer
在每个字段中,从左到右依次是StaticText、TextCtrl和按钮

如何配置单元格,使其具有不同的宽度

使用

objects[i].SetMinSize((width,height))
你应该做你想做的。。。你可能还得打电话

objects[i].SetSize((width,height))

在将其添加到大小调整器之前

GridSizers适用于希望网格中的所有控件都具有相同大小的单元格的情况。这适用于计算器按钮。FlexGridSizer与GridSizer类似,但允许不同大小的行和列。我想这就是你想用的。我仍然想知道是否有一种方法可以设置列的最大或最小宽度大小。