2015-11-23 69 views
0

我已經在wxPython下面的代碼:對象的大小測定行爲unexpecdly

sizer_1 = wx.BoxSizer(wx.HORIZONTAL) 
    sizer_2 = wx.BoxSizer(wx.HORIZONTAL) 
    sizer_3 = wx.BoxSizer(wx.VERTICAL) 

    self.label_1 = wx.StaticText(self, -1, _("XXX:     ")) 
    self.label_2 = wx.StaticText(self, -1, _("XXXXXX (Xxxxxxxx):  ")) 

    self.t1= wx.TextCtrl(self, -1, "") 
    self.t2= wx.TextCtrl(self, -1, "") 

    sizer_1.Add(self.label_1, 1, wx.LEFT, 10) 
    sizer_1.Add(self.t1, 1, wx.RIGHT, 10) 
    sizer_2.Add(self.label_2, 1, wx.LEFT, 10) 
    sizer_2.Add(self.t2, 1, wx.RIGHT, 10) 


    sizer_3.Add((0, 15), 0, 0, 0) 
    sizer_3.Add(sizer_1,0) 
    sizer_3.Add((0, 15), 0, 0, 0) 
    sizer_3.Add(sizer_2,0) 
    sizer_3.Add((0, 15), 0, 0, 0) 

這給:

enter image description here

爲什麼在textCtrl不神韻:?

標籤需要相同的空間..所以爲什麼textctrl從不同的位置開始?

回答

0

將sizer視爲窗口內的自包含窗口,因爲您將每個項目及其標籤分配給不同的sizer,因此將它們視爲單獨的子窗口。
將它們都添加到sizer_1中,然後將sizer_1放入sizer_3中,並且它們將排隊,因爲它們都由相同的sizer(sizer_1)控制。