2012-01-17 47 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我真的不推薦它。