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...'
문제는 I 각 헤더의 왼쪽 가로 공간을 추가하면, 또한 헤더와 sunken_border HEADER1 및 HEADER2 상하 공간을 추가한다는 것이다. 여하튼 수직 공간을 부작용으로 추가하지 않고 헤더 앞에 수평 공간을 추가 할 수 있습니까? 감사합니다. .
귀하의 코멘트에 대답하기 위해
--- 편집 --- : 녹색
'공간'수배 ... 간단한 팔렛에서 BoxSizer 프로그램 : 여기 프로그램의 사진입니다 공간이 있지만 '공간'은 빨간색으로 불필요한 부작용입니다. 나는 기본적으로 녹색 공간 만 원한다. 그러나 나는 붉은 공간을 원하지 않는다. 헤더가 두 개의 패널 (같은 바로 위에있는 것처럼 ...)과 같아야한다. 지금 당장은 절대 위치 지정을해야 작동 할 수 있습니다. BoxSizer 또는 다른 레이아웃 관리자로 작업하게 만들 수 있는지 알고 싶습니다. 다시 한 번 감사드립니다.
당신이 무엇을 요구하고 있는지 분명하지 않습니다. "가로 공간을 어떻게 추가합니까"?"sunken_border header1 및 header2"가있는 부분은 완전히 엉망이 된 것처럼 보입니다. –
여러 BoxSizer의 – Ripi2