wxpython GridBagSizer问题

时间:2011-03-19 19:21:04

标签: python user-interface wxpython

当我在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行将消失在窗口的一角。即使我将pos =(8,0)改为pos =(9,0),我仍然会遇到同样的问题。我能解决它的唯一方法是取走span =(7,3),这使我的GUI看起来非常难看。

这里有什么问题?

1 个答案:

答案 0 :(得分:2)

我认为你误解了span论点。 span=(7,3)告诉sizer将小部件从其起始位置拉伸7行3列。如果您希望它覆盖7,0到7,3,请尝试span=(1,4)