Я сделал небольшую и простую программу, используя wx.BoxSizer. Вот исходный код:»Как сделать расстояние с wx Python BoxSizer
import wx
# MAIN PROGRAM...
class MyFrame(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None, -1, "My Frame", size = (600, 600))
mainPanel = wx.Panel(self)
mainBox = wx.BoxSizer(wx.VERTICAL)
header1 = wx.StaticText(mainPanel, label = 'Header1:')
header2 = wx.StaticText(mainPanel, label = 'Header2:')
panel1 = wx.Panel(mainPanel, size = (200, 200), style = wx.SUNKEN_BORDER)
panel2 = wx.Panel(mainPanel, size = (200, 200), style = wx.SUNKEN_BORDER)
box1 = wx.BoxSizer(wx.HORIZONTAL)
box1.AddSpacer(50)
box1.Add(header1, 0, wx.ALL, 5)
box1.AddSpacer(50)
box1.Add(header2, 0, wx.ALL, 5)
box2 = wx.BoxSizer(wx.HORIZONTAL)
box2.Add(panel1, 0, wx.ALL, 5)
box2.Add(panel2, 0, wx.ALL, 5)
mainBox.Add(box1, 0, wx.ALL, 5)
mainBox.Add(box2, 0, wx.ALL, 5)
mainPanel.SetSizer(mainBox)
#self.Center()
if __name__ == '__main__':
app = wx.App()
frame = MyFrame()
frame.Show(True)
app.MainLoop()
print 'Exiting...'
Вопрос заключается в том, что, когда я добавляю горизонтальное пространство слева от заголовка, он также добавляет вертикальное пространство между заголовками и sunken_border HEADER1 и HEADER2. Нужно ли добавлять горизонтальное пространство перед заголовками, не добавляя вертикальное пространство в качестве побочного эффекта? Спасибо.
--- EDIT ---
Чтобы ответить на ваш комментарий: здесь картина программы: Простая программа BoxSizer ...
'пространство' в зеленом разыскивается пространство, но «пространство» в красном - это ненужный побочный эффект. Я просто хочу только зеленое пространство, но я не хочу красного пространства, я хочу, чтобы заголовки были заподлицо с двумя панелями (например, прямо прямо сверху). Прямо сейчас, мне нужно сделать абсолютное позиционирование, чтобы заставить его работать, я просто хотел узнать, можете ли вы заставить его работать с BoxSizer или другим менеджером макетов ... Еще раз спасибо.
Непонятно, что вы просите. Как вы добавляете горизонтальное пространство?Часть с «sunken_border header1 и header2» просто кажется полностью искаженной. –
Попробуйте использовать FlexGridSizer вместо нескольких BoxSizer's – Ripi2