GridBagSizer가 연결된 wx.Panel이 있습니다. 이 패널은 다른 Sizer (BoxSizer) 내부에 배치됩니다.이 패널의 추가에는 확장 플래그가 있습니다. 즉, 패널이 sizer의 전체 너비를 차지한다는 의미입니다. ...하지만 패널의 내부 크기 조정기가 지금 패널을 채우지는 않습니다.패널을 다른 wx.sizer 내부로 확장하면 wx.panel의 wx.sizer를 어떻게 확장합니까?
내부 sizer의 플래그를 wx.Expand | wx.ALL로 설정하려고했지만 구성 요소를 추가했지만 작동하지 않습니다. 패널을 확장 할 때 크기 조정 도구가 패널과 동일한 너비를 유지하는 방법을 아는 사람이 있습니까?
편집 : GridBagSizer가 포함 된 패널을 만들어 내 코드 : 당신이 바로 그 생각이있어
def getNewButton(self, bmp1, bmp2, label):
panel = wx.Panel(self.frame, -1, pos=(0,0), style=wx.BORDER_THEME)
sizer = wx.GridBagSizer(0, 1)
#The button
b = buttons.GenBitmapToggleButton(panel, wx.ID_ANY, None)
self.frame.Bind(wx.EVT_BUTTON, self.OnToggleButton, b)
b.Bind(wx.EVT_ENTER_WINDOW, self.OnMouseEnter)
b.Bind(wx.EVT_LEAVE_WINDOW, self.OnMouseLeave)
mask = wx.Mask(bmp1, wx.BLUE)
bmp1.SetMask(mask)
b.SetBitmapLabel(bmp1)
mask = wx.Mask(bmp2, wx.BLUE)
bmp2.SetMask(mask)
b.SetBitmapSelected(bmp2)
b.SetToggle(False)
b.SetInitialSize(size = wx.Size(30, 30))
b.SetBezelWidth(0)
#The Label Button
l1 = buttons.GenButton(panel, wx.ID_ANY, label, style=wx.BORDER_NONE)
self.frame.Bind(wx.EVT_BUTTON, self.OnFlatButton, l1)
l1.Bind(wx.EVT_ENTER_WINDOW, self.OnMouseEnter)
l1.Bind(wx.EVT_LEAVE_WINDOW, self.OnNonToggleMouseLeave)
sizer.Add(b, wx.GBPosition(0,0))
sizer.Add(l1, wx.GBPosition(0,1), flag=wx.EXPAND)
panel.SetSizer(sizer)
sizer.SetSizeHints(panel)
self.buttonsList.append(ImgToggleButtonComponents(b,panel,l1))
return panel
시도 sizerHints,하지만 행운을 어디에 배치, 그래서 실제로 패널을 생성하고 그것의 sizer 메서드를 게시 – Fry