2011-07-29 16 views
6

私はwx.Pythonを使用し、これに類似した静的な箱の中に「ラップ」私がしたいオブジェクトのグループを持っている:Sizerの使用中にスタティックボックス内にアイテムを追加するにはどうすればよいですか?

enter image description here

しかしtutorial uses position sizesことを、そして私の代わりにサイザーを使用しています。

enter image description here

をではなく、彼らは、静的なボックスの下にしている:私は、内の項目を取得して苦労しています。 Sizersを使用して位置を特定せずにスタティックボックス内にオブジェクトを含めるにはどうすればよいですか?

は、ここに私のコードです:

# 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

良い仕事:-) –

関連する問題