2009-06-26 41 views
3

我想一個簡單的佈局和麪板由SplitterWindow分不會擴展到填滿整個區域內擴張,我想是這樣的:wxPython的SplitterWindow沒有一個面板

[button] <= (fixed size) 
---------        
TEXT AREA       } 
~~~~~~~~~ <= (this is the splitter) } this is a panel 
TEXT AREA       } 

實際代碼:

import wx 
    app = wx.App() 
    frame = wx.Frame(None, wx.ID_ANY, "Register Translator") 

    parseButton = wx.Button(frame, label="Parse") 
    panel = wx.Panel(frame) 
    panel.SetBackgroundColour("BLUE") 
    splitter = wx.SplitterWindow(panel) 
    inputArea = wx.TextCtrl(splitter, style=wx.TE_MULTILINE) 
    outputArea = wx.TextCtrl(splitter, style=wx.TE_MULTILINE) 
    splitter.SplitHorizontally(inputArea, outputArea) 

    sizer=wx.BoxSizer(wx.VERTICAL) 
    sizer.Add(parseButton, 0, wx.ALIGN_CENTER) 
    sizer.Add(panel, 1, wx.EXPAND | wx.ALL) 

    frame.SetSizerAndFit(sizer) 
    frame.SetAutoLayout(1) 

    frame.Show(True) 
    app.MainLoop() 

我設置面板的顏色不同,它使用整個區域實際上,這樣的問題僅僅是面板中的SplitterWindow,而不是BoxSizer內。

有關爲什麼它不起作用的任何想法?謝謝!

回答

4

面板可能正在擴展,但面板內的ScrolledWindow不是,因爲您沒有使用面板的sizer,只有框架。

你也可以嘗試讓SplitterWindow成爲框架的一個小孩,沒有面板。

+0

謝謝,我已經添加了面板的第二個尺寸,並添加了分離器到它,它的工作原理......但我不明白爲什麼它在框架中工作,無需sizer:-s – fortran 2009-06-26 13:50:20