wxPython 中带笔记本和面板的嵌套拆分器

Nested Splitter with Notebook and Panel in wxPython

我想创建简单的 window 水平拆分。 wx.Notebook 顶部有一些标签,笔记本下面有简单的 wx.Panel。我不知道如何使用 wx.SplitterWindow() 来做到这一点。当我尝试不同的方法时,笔记本占据了所有 window 并且底部面板不可用。

注意:我希望底部面板始终可见。不像通常的例子那样只针对一个笔记本标签。

或者拆分 window 不是满足我需求的正确方法?

你需要 wx.BoxSizerorient = VERTICAL

首先添加笔记本,然后添加底部面板。

您必须知道在调整主要 window 大小时这两个项目中的哪一个被调整了大小。可以任意组合:全部到笔记本,全部到面板,或者按照你想要的比例。

参见sizer doc或google任何wxsizer教程。

当然,你可以用sizer来做,如Ripi2的答案所示,但你也可以用wxSplitterWindow来做。需要牢记的是,您要放入其中的控件必须使用拆分器本身作为父级。 IE。您需要先创建拆分器,然后是将其作为父级的笔记本,然后是将拆分器作为父级的面板,然后调用 SplitHorizontally(notebook, panel).