我正在尝试找到一种使用 wxPython 布局 3 窗格窗口的简单方法。
我想在左窗格中有一个树列表,然后有一个分为两部分的右窗格 - 顶部有一个编辑组件,底部有一个网格组件。
大致如下:
--------------------------------------
| | |
| | Edit |
| Tree | Control |
| Control | |
| |----------------------|
| | |
| | Grid |
| | |
--------------------------------------
我希望窗口能够重新调整大小,并使用户能够通过拖动边框来更改窗口内每个组件的(相对)大小。
我认为我需要某种大小调整器和/或分割窗口组件的组合,但在文档或网络上找不到此类窗口的合适示例。
这是一个非常简单的布局,使用 wx.aui 和三个面板。我想您可以轻松地调整它以满足您的需求。
奥尔扬普...
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()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)