2011-07-29 83 views
6

我使用wx.Python和有「包裹」與此類似靜態箱中的一組,我想的對象:如何在使用Sizer時在靜態框內添加項目?

enter image description here

但是,這種tutorial uses position sizes,和我使用施膠劑替代。我有一個很難得到裏面的物品:

enter image description here

而是他們下面的靜態框。如何使用Sizer將靜態框中的對象包含在內而不放置?

這裏是我的代碼:

# Date and Graph Type Selection 

    self.dateLbl = wx.StaticBox(self, -1, 'Date Range:', size=(240, 140)) 
    self.dategraphSizer = wx.BoxSizer(wx.VERTICAL) 
    self.dategraphSizer.Add(self.dateLbl, 0, wx.ALL|wx.LEFT, 5) 

    # Date Range Selection 
    self.dateSizer = wx.BoxSizer(wx.HORIZONTAL) 
    self.dateone = wx.TextCtrl(self, -1, style=wx.ALIGN_LEFT) 
    self.datetwo = wx.TextCtrl(self, -1, style=wx.ALIGN_LEFT) 
    self.date2Lbl = wx.StaticText(self, -1, "TO") 
    self.dateSizer.Add(self.dateone, 0, wx.ALL|wx.CENTER, 2) 
    self.dateSizer.Add(self.date2Lbl, 0, wx.ALL|wx.CENTER, 2) 
    self.dateSizer.Add(self.datetwo, 0, wx.ALL|wx.CENTER, 2) 


    # Date Quick Selection Buttons 
    self.dategraphSizer.Add(self.dateSizer, 0, wx.ALL|wx.CENTER, 5) 
    self.todayButton = wx.Button(self, -1, 'Today Only') 
    self.dategraphSizer.Add(self.todayButton, 0, wx.ALL|wx.LEFT, 5) 
    self.recentButton = wx.Button(self, -1, 'Most Recent Session') 
    self.dategraphSizer.Add(self.recentButton, 0, wx.ALL|wx.LEFT, 5) 

回答

11

當使用尺寸儀,你必須創建一個特定的「靜態框儀」是一個儀,幷包含靜態框中輸入你要使用的。這是通過:

self.foo = wx.StaticBoxSizer(self.box, wx.ORIENT) 

這意味着你的靜態框需要事先創建,並通過了創作儀的arguement。從那裏開始,Sizer的行爲完全像一個普通的Sizer。這是我得到了修復代碼:

# Date and Graph Type Selection 

    self.dateLbl = wx.StaticBox(self, -1, 'Date Range:', size=(240, 140)) 
    self.dategraphSizer = wx.StaticBoxSizer(self.dateLbl, wx.VERTICAL) 
    #self.dategraphSizer.Add(self.dateLbl, 0, wx.ALL|wx.LEFT, 5) NOTE THIS ISN'T NEEDED ANYMORE 

    # Date Range Selection 
    self.dateSizer = wx.BoxSizer(wx.HORIZONTAL) 
    self.dateone = wx.TextCtrl(self, -1, style=wx.ALIGN_LEFT) 
    self.datetwo = wx.TextCtrl(self, -1, style=wx.ALIGN_LEFT) 
    self.date2Lbl = wx.StaticText(self, -1, "TO") 
    self.dateSizer.Add(self.dateone, 0, wx.ALL|wx.CENTER, 2) 
    self.dateSizer.Add(self.date2Lbl, 0, wx.ALL|wx.CENTER, 2) 
    self.dateSizer.Add(self.datetwo, 0, wx.ALL|wx.CENTER, 2) 


    # Date Quick Selection Buttons 
    self.dategraphSizer.Add(self.dateSizer, 0, wx.ALL|wx.CENTER, 5) 
    self.todayButton = wx.Button(self, -1, 'Today Only') 
    self.dategraphSizer.Add(self.todayButton, 0, wx.ALL|wx.LEFT, 5) 
    self.recentButton = wx.Button(self, -1, 'Most Recent Session') 
    self.dategraphSizer.Add(self.recentButton, 0, wx.ALL|wx.LEFT, 5) 

其中產量這樣的結果:

enter image description here

+1

抓好尋找它自己:-) –

相關問題