以下屏幕截图展示了一个水平拆分的拆分窗口的外观。
使用了wx.SP_3D样式来显示三维边框和三维分隔条。
示例
以下代码片段展示了如何创建一个拆分窗口,创建两个子窗口并隐藏其中一个:
splitter = wx.SplitterWindow(self, -1, wx.Point(0, 0),
wx.Size(400, 400), wx.SP_3D)
leftWindow = MyWindow(splitter)
leftWindow.SetScrollbars(20, 20, 50, 50)
rightWindow = MyWindow(splitter)
rightWindow.SetScrollbars(20, 20, 50, 50)
rightWindow.Show(False)
splitter.Initialize(leftWindow)
# 设置这个以防止拆分器取消拆分
# splitter.SetMinimumPaneSize(20)
下一个代码片段展示了在创建拆分窗口后,如何对其进行操作:
def OnSplitVertical(self, event):
if splitter.IsSplit():
splitter.Unsplit()
leftWindow.Show(True)
rightWindow.Show(True)
splitter.SplitVertically(leftWindow, rightWindow)
def OnSplitHorizontal(self, event):
if splitter.IsSplit():
splitter.Unsplit()
leftWindow.Show(True)
rightWindow.Show(True)
splitter.SplitHorizontally(leftWindow, rightWindow)
def OnUnsplit(self, event):
if splitter.IsSplit():
splitter.Unsplit()