wxPython-Can';无法调整按钮的大小

wxPython-Can';无法调整按钮的大小,wxpython,Wxpython,我是wxPython的新手,我有一个关于调整按钮大小的基本问题 我正在使用Python2.7.3和Wxpython2.8.10.1在mac上工作 我已经使用它几天了,我想我理解sizer的布局方法。我试图得到一个网格按钮的大小增长时,窗口被扩大。我知道这是一个基本问题,但我已经花了几个小时 我不知道如何在这里获得屏幕截图图像,但按钮显示良好,然后在窗口放大时保持不变 谢谢 #!/usr/bin/env python import wx class Example(wx.Frame): def

我是wxPython的新手,我有一个关于调整按钮大小的基本问题

我正在使用Python2.7.3和Wxpython2.8.10.1在mac上工作

我已经使用它几天了,我想我理解sizer的布局方法。我试图得到一个网格按钮的大小增长时,窗口被扩大。我知道这是一个基本问题,但我已经花了几个小时

我不知道如何在这里获得屏幕截图图像,但按钮显示良好,然后在窗口放大时保持不变

谢谢

#!/usr/bin/env python
import wx
class Example(wx.Frame):

def __init__(self, *args, **kw):
    super(Example, self).__init__(*args, **kw) 
    self.InitUI()
    self.SetSize((550, 160))
    self.SetTitle("Label of Grids")
    self.Centre()
    self.Show()     

def InitUI(self):

    pnl = wx.Panel(self)       
    grid = wx.GridBagSizer(3, 3)
    for r in range(6):
        for c in range (4):
            buttonname = str(r)+"_"+str(c)
            labeltxt = "(row= "+str(r)+", col= "+str(c)+")"
            grid.Add(wx.Button(pnl, name = buttonname,label=labeltxt), (r, c),flag =wx.EXPAND)
    pnl.SetSizer(grid)

def main():

    app = wx.App()
    Example(None)
    app.MainLoop()    


if __name__ == '__main__':
    main()  

当您使用
GridBagSizer
时,您需要调用
addgrowtablecol(idx)
addgrowtablerow(idx)
方法,以允许网格中的单个行和列的大小是流动的。

我通过添加这些方法想到了这一点:Grid.addgrowtablerow(r)Grid.addgrowtablecol(c)这会使行和列增长,但不会使按钮增长AddGrowtable方法使单元格能够展开,但您仍然需要在项目上使用wx.expand标志使其展开以填充网格单元格。您还应该考虑使用WIT来帮助试验选项,并将Sizer发生的情况可视化@NewatPython—您需要一个像罗宾指出的组合。我发布它是因为您的示例代码中没有必要的调用。如果两个都用过,但仍然不起作用,我们需要看到更完整的代码来了解发生了什么。明天我将对此进行一次尝试,并使用WIT。谢谢,这很有效。谢谢你,g.d.d.c.谢谢你的机智。罗宾,我正在用例子看完你的书。我肯定接下来会有一些问题要问你们两个。