Python: wxPython: 让StaticBox水平拉伸以适应框架
我该怎么把一个静态框拉伸到框架的宽度呢?
代码:
class XPanel(wx.Panel):
def __init__(self, parent):
wx.Panel.__init__(self, parent, -1)
self.box = wx.StaticBox(self, -1, "X CONTROL PANEL")
self.bsizer = wx.StaticBoxSizer(self.box, wx.VERTICAL)
self.t = wx.StaticText(self, -1, "X command: ")
self.cmdtext = wx.TextCtrl(self, -1, "")
self.itpsend_btn = wx.Button(self, -1, " Send ")
self.bsizer.Add(self.t, 0, wx.TOP|wx.LEFT, 10)
self.bsizer.Add(self.cmdtext, 0 , wx.ALL|wx.EXPAND)
self.bsizer.Add(self.itpsend_btn, 0, wx.ALL|wx.CENTER)
self.border = wx.BoxSizer()
self.border.Add(self.bsizer, -1, wx.EXPAND|wx.ALL, 25)
self.SetSizer(self.border)
我现在得到的是这个:
但是我希望它能拉伸到框架的宽度。
请教教我。谢谢。
1 个回答
1
你的XPanel设置是对的。问题不在XPanel,而是在装着这个面板和其他面板的框架里(从你的图片来看,至少还有一个额外的面板)。
你需要在这个框架里告诉面板要扩展并填满整个框架。所以,你需要使用wx.EXPAND,像这里展示的那样: