微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

wxSplitterWindow 不显示窗框

如何解决wxSplitterWindow 不显示窗框

我正在使用 wxPython 构建一个简单的应用程序,我想使用这样的布局

________
|   |   |
|   |___|
|   |   |
|   |   |
---------

这是我的示例代码

class MainWindow(wx.Frame):
    def __init__(self,title):
        super().__init__(parent=None,title=title)
        self.Maximize()
        self.initUI()

    def initUI(self):
        self.leftSplitter = wx.SplitterWindow(self,style=wx.SP_LIVE_UPDATE)
        self.leftSplitter.SetSashInvisible(False)  # not working
        self.rightSplitter = wx.SplitterWindow(self.leftSplitter,style=wx.SP_LIVE_UPDATE)
        self.rightSplitter.SetSashInvisible(False)  # not working

        self.leftPanel = wx.Panel(self.leftSplitter)
        self.rightPanel = wx.Panel(self.rightSplitter)
        self.bottomPanel = wx.Panel(self.rightSplitter)

        self.leftSizer = wx.GridSizer(10,4,3,3)
        self.rightSizer = wx.BoxSizer(wx.HORIZONTAL)
        self.bottomSizer = wx.BoxSizer(wx.HORIZONTAL)

        rightBtn = wx.Button(self.rightPanel,label="I'm on the right")
        leftBtn = wx.Button(self.leftPanel,label="I'm on the left")
        bottomBtn = wx.Button(self.bottomPanel,label="I'm on the bottom")

        self.leftSizer.Add(leftBtn)
        self.rightSizer.Add(rightBtn)
        self.bottomSizer.Add(bottomBtn)

        self.leftPanel.SetSizer(self.leftSizer)
        self.rightPanel.SetSizer(self.rightSizer)
        self.bottomPanel.SetSizer(self.bottomSizer)

        self.rightSplitter.SplitHorizontally(self.rightPanel,self.bottomPanel)
        self.rightSplitter.SetSashGravity(0.5)

        self.leftSplitter.SplitVertically(self.leftPanel,self.rightSplitter)
        self.leftSplitter.SetSashGravity(0.5)


app = wx.App()
frame = MainWindow("My Window")
frame.Show()
app.MainLoop()

当我运行它时,一切都按预期工作,除了窗扇(也称为分隔符)不显示。 确实如果我跑

self.leftSplitter.IsSashVisible()

我猜错了。如何设置窗扇认可见?如果使用 SetSashInvisible() 使其不可见,我如何将其重新设置为可见?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。