我正在尝试找到一种使用 wxPython 布局 3 Pane 窗口的简单方法。
我想在左 Pane 中有一个树列表,然后有一个分成两部分的右 Pane - 在顶部有一个编辑组件,在底部有一个网格组件。
类似的东西:
-------------------------------------- | | | | | Edit | | Tree | Control | | Control | | | |----------------------| | | | | | Grid | | | | --------------------------------------
我希望窗口可以调整大小,让用户能够通过拖动边框来更改窗口内每个组件的(相对)大小。
我认为我需要一些大小调整器和/或拆分器窗口组件的组合,但在文档或网络上找不到此类窗口的合适示例。
最佳答案
这是一个使用 wx.aui 和三个面板的非常简单的布局。我想您可以轻松调整它以满足您的需求。
Orjanp...
import wx
import wx.aui
class MyFrame(wx.Frame):
def __init__(self, *args, **kwargs):
wx.Frame.__init__(self, *args, **kwargs)
self.mgr = wx.aui.AuiManager(self)
leftpanel = wx.Panel(self, -1, size = (200, 150))
rightpanel = wx.Panel(self, -1, size = (200, 150))
bottompanel = wx.Panel(self, -1, size = (200, 150))
self.mgr.AddPane(leftpanel, wx.aui.AuiPaneInfo().Bottom())
self.mgr.AddPane(rightpanel, wx.aui.AuiPaneInfo().Left().Layer(1))
self.mgr.AddPane(bottompanel, wx.aui.AuiPaneInfo().Center().Layer(2))
self.mgr.Update()
class MyApp(wx.App):
def OnInit(self):
frame = MyFrame(None, -1, '07_wxaui.py')
frame.Show()
self.SetTopWindow(frame)
return 1
if __name__ == "__main__":
app = MyApp(0)
app.MainLoop()
关于python - 如何使用 wxPython 布局 3 Pane 窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/523363/