wxpython中可调整大小的分隔线?

时间:2011-11-18 12:45:02

标签: python wxpython

我不确定它们的名称是什么,但我想要一个可调整大小的分隔线来分隔小部件。

我想要这样的东西(水平除外): http://imm.io/bKgf

如果你不知道我在说什么,请评论,谢谢,抱歉我的无知。

3 个答案:

答案 0 :(得分:6)

你可能需要一个分离窗口:

import  wx

class MyFrame(wx.Frame):
    def __init__(self, parent):
        wx.Frame.__init__(self, parent)
        self.splitter = wx.SplitterWindow(self)

        pan1 = wx.Window(self.splitter, style=wx.BORDER_SUNKEN)
        pan1.SetBackgroundColour("yellow")
        wx.StaticText(pan1, -1, "My Left Panel")

        pan2 = wx.Window(self.splitter, style=wx.BORDER_SUNKEN)
        pan2.SetBackgroundColour("orange")
        wx.StaticText(pan2, -1, "my Right Panel")

        self.splitter.SplitVertically(pan1, pan2, -100)


if __name__ == '__main__':
    app = wx.PySimpleApp()
    frame = MyFrame(None)
    frame.Show()
    app.MainLoop()

enter image description here

答案 1 :(得分:1)

我不确定这是否完全符合您的需求,但您可能会看看wxPython的aui module。该页面上有一些演示代码可以帮助您入门,wxPython demo有一些很好的例子可以试用。

答案 2 :(得分:1)

你想要的是wx.StaticLine。只需创建其中一个并使用EXPAND样式标志将其添加到您的sizer中。有关详细信息,请参阅http://www.wxpython.org/docs/api/wx.StaticLine-class.html

编辑:哦,我认为Joaquin对SplitterWindow的建议可能会被发现。请注意,还有其他几种类型的SplitterWindows,例如MultiSplitterWindow和FourWaySplitter