我正在尝试一个简单的布局,由 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 内。
关于为什么它不起作用的任何想法?谢谢!
面板可能正在扩展,但面板内的 ScrolledWindow 没有,因为您没有为面板使用 sizer,只有框架。
您也可以尝试让 SplitterWindow 成为框架的子项,而不使用面板。
我是一名优秀的程序员,十分优秀!