2012-07-04 2 views
0

wxSizer를 사용하여 패널 내부에서 위젯을 정렬하려고합니다. 위젯은 배열되어 있지만 프레임 안으로 들어 가지 않습니다. 아무도 내가 뭘 잘못하고 있다고 말할 수 있습니까?wxBoxers를 사용하여 프레임 내에 wxWidgets을 정렬하는 방법은 무엇입니까?

import wx 

class MyRegion(wx.Frame): 
    def __init__(self):   
     wx.Frame.__init__(self, None, -1) 

     self.panel = wx.Panel(self,-1,pos=(70,200), size=(300,300)) 
     self.panel.SetBackgroundColour((128,128,128)) # dark grey  

     sizer = wx.BoxSizer(wx.VERTICAL) 

     b1 = wx.Button(self, label="TEXT1") 
     b2 = wx.Button(self, label="TEXT2") 
     b3 = wx.Button(self, label="TEXT3") 

     sizer.Add(b1) 
     sizer.Add(b2) 
     sizer.Add(b3) 

     self.panel.SetSizer(sizer) 
     sizer.Fit(self.panel) 


if __name__ == "__main__": 
    app = wx.PySimpleApp() 
    myRegion = MyRegion() 
    myRegion.Show() 
    app.MainLoop() 

답변

1

패널 대신 프레임의 버튼 부모 패널을 만들어야합니다.

b1 = wx.Button(self.panel, label="TEXT1") 

그 이유는 그 선별기는 UI에서 부모/자식 관계가 여전히 기본 OS 제어에 직접 매핑 WX 오브젝트에 의해 제어되는 항목의 위치를 ​​제어 않는다.

+0

물론! 고마워요. – Milad