3
我有一個包含單個條目的wxPython的幀,如:獲得一個wxPython的面板項擴大
class Panel(wx.Panel):
def __init__(self, parent):
wx.Panel.__init__(self, parent)
self.text = wx.StaticText(self, label='Panel 1')
我有一個包含多個面板,包括這一個幀,和尺寸由大小測定器排除。 我想這StaticText
擴大。 使用僅包含文本的BoxSizer
並設置wx.EXPAND
標誌會執行此操作,但僅爲一個項目使用sizer似乎很愚蠢。
任何更簡單的解決方案?
(我可以只添加StaticText
父框架的分級機直接,但對我的設計更有意義,直接開始幀)。
我才意識到,在創建BoxSizer
與時一個項目不wx.VERTICAL
工作:
class Panel1(wx.Panel):
def __init__(self, parent):
wx.Panel.__init__(self, parent)
self.BackgroundColour = 'red'
sizer = wx.BoxSizer(wx.VERTICAL)
self.Sizer = sizer
self.list = wx.ListBox(self, choices=[str(i) for i in xrange(100)])
sizer.Add(self.list, 0, wx.EXPAND)
sizer.Fit(self)
當然,這是確定一個項目,但如果我要直在以後添加項目,仍然讓他們兩個擴展(例如,當被擴大了用戶的窗口)?
編輯︰啊,我剛剛發現,必須使用比例,以使boxsizers兩種方式成長。 (即,在BoxSizer.Add
的呼叫中,將0替換爲1)。
謝謝。你對我的編輯有任何想法嗎? – 2010-06-23 21:51:02
是的,比例使它在sizer的方向上成長。 wx.EXPAND使它擴展到填充另一個方向。使用它們都可以在兩個方向上增長。 – FogleBird 2010-06-24 01:46:07