2012-01-17 45 views
0

我的问题是,我有我想给垂直尺寸三个面板和水平走框架如何适应3个面板在一帧与wxPython的

+0

欢迎来到SO。这是不是很清楚你要问什么。发布相关代码可能会有所帮助。 :) – vdbuilder 2012-01-17 01:55:30

+0

你正在谈论的草图也会有帮助 – 2012-01-17 16:59:26

回答

0

这里的大小是从WX采取的一个例子演示。

box = wx.BoxSizer(wx.VERTICAL) 
box.Add(SampleWindow(win, "one"), 0, wx.EXPAND) 
box.Add(SampleWindow(win, "two"), 0, wx.EXPAND) 
box.Add(SampleWindow(win, "three"), 0, wx.EXPAND) 
box.Add(SampleWindow(win, "four"), 0, wx.EXPAND) 

而结果是这样的:

enter image description here

如果这是不是你要找什么,那么可能在其他演示的东西会工作。从here获取演示,并且sizer示例在Window Layout | Sizers之下。

0

如果你想面板有不同的尺寸,你应该使用一个FlexGridSizer。喜欢的东西:

sizer = wx.FlexGridSizer(4, 1, 0, 0) 
sizer.AddGrowableRow(3) 
first_panel = wx.Panel(self) 
second_panel = wx.Panel(self) 
third_panel = wx.Panel(self) 
first_panel.SetPrefferedSize((-1, custom_height1)) 
second_panel.SetPrefferedSize((-1, custom_height2)) 
third_panel.SetPrefferedSize((-1, custom_height3)) 
sizer.Add(first_panel, 1, wx.EXPAND) 
sizer.Add(second_panel, 1, wx.EXPAND) 
sizer.Add(third_panel, 1, wx.EXPAND) 
sizer.Add((-1, -1)) 

如果大小不是让你可以尝试用SetMinSize altought更换SetPrefferedSize我真的不推荐它。