wxpython GridBagSizer проблема

1

когда я использую span в GridBagSizer, я получаю проблему, вот мой код:

    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. Это как-то влияет на мою восьмую строку, моя восьмая строка исчезнет в углу окна. Даже если я поменяю pos = (8,0) на pos = (9,0), я все равно получаю ту же проблему. Единственный способ, которым я могу это решить, - отнять span = (7,3), что делает мой графический интерфейс очень уродливым.

В чем моя проблема?

Теги:
user-interface
wxpython

1 ответ

2
Лучший ответ

Я думаю, что вы не понимаете аргумент span. span=(7,3) сообщает sizer растянуть виджет на 7 строк и 3 столбца от его начальной позиции. Если вы хотите, чтобы он охватывал от 7,0 до 7,3, попробуйте span=(1,4).

  • 0
    спасибо, это была проблема!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню