Я использую gridbagsizer для размещения двух панелей в рамке.
control_panel = wx.Panel(self, id=ID_CONTROL_PANEL)
main_panel = wx.Panel(self, id=ID_MAIN_PANEL)
frame_sizer = wx.GridBagSizer(1, 1)
frame_sizer.Add(control_panel, (0, 0), (2, 5), flag=wx.EXPAND)
frame_sizer.Add(main_panel, (2, 0), (5, 5), flag=wx.EXPAND)
frame_sizer.AddGrowableRow(0)
frame_sizer.AddGrowableCol(0)
self.SetSizer(frame_sizer)
Я хочу, чтобы control_panel находилась над main_panel (как вы можете видеть выше). Однако вот результат, который я получаю:
Я не знаю, почему верхняя панель намного больше, чем нижняя, если я указал обратное. (2, 5) для верха и (5, 5) для низа. У него также странное поведение, когда я уменьшаю его размер, он в основном дает мне то, что я хочу (см. Изображение ниже), но я не знаю, как сохранить это соотношение, когда я снова увеличиваю его.
Однако когда вы начинаете увеличив размер (даже на небольшую величину), вы можете увидеть (ниже), что формы и соотношение резко изменяются в другом направлении (нижняя часть становится намного меньше, а верхняя - намного больше).
Все еще пытаюсь изучить этот размер и могу ' Я действительно не нашел эту проблему ни в одном из примеров, которые я видел. Также попробовал поэкспериментировать со всеми параметрами и провести несколько тестов, и я не могу понять, что здесь происходит. Любая помощь будет принята с благодарностью.
РЕДАКТИРОВАТЬ: Изображение ниже добавлено, чтобы помочь комментарию ниже.