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