Python:wxPython:水平拉伸StaticBox以适合框架

时间:2011-12-09 07:42:06

标签: python wxpython

如何拉伸静态框以水平放置在框架上?

代码:

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)

我得到了这个:

enter image description here

但是我希望它能够在适合框架的范围内进行拉伸。

请教育。感谢。

1 个答案:

答案 0 :(得分:1)

您的XPanel是正确的。您的问题不在XPAnel中,而是在包含此面板和其他面板的框架中(从您的图像开始,至少还有其他面板)。

在框架中,您必须告诉面板展开并适合整个框架。因此,您必须使用wx.EXPAND,如下所示:

enter image description here