wxPython,使用SplitterWindow
我想把TreeCtrl放在SplitterWindow的两侧。当然,TreeCtrl应该随着窗口的大小而扩展wxPython,使用SplitterWindow,wxpython,Wxpython,我想把TreeCtrl放在SplitterWindow的两侧。当然,TreeCtrl应该随着窗口的大小而扩展 splitter = wx.SplitterWindow(self, style = wx.SP_BORDER) leftPanel = wx.Panel(splitter) rightPanel = wx.Panel(splitter) leftSizer = wx.BoxSizer(wx.VERTICAL) rightSizer = wx.BoxSizer(wx.VERTI
splitter = wx.SplitterWindow(self, style = wx.SP_BORDER)
leftPanel = wx.Panel(splitter)
rightPanel = wx.Panel(splitter)
leftSizer = wx.BoxSizer(wx.VERTICAL)
rightSizer = wx.BoxSizer(wx.VERTICAL)
localTree = wx.TreeCtrl(leftPanel)
flickrTree = wx.TreeCtrl(rightPanel)
leftSizer.Add(localTree, flag = wx.EXPAND | wx.ALIGN_CENTER)
rightSizer.Add(flickrTree, flag = wx.EXPAND)
splitter.SplitVertically(leftPanel, rightPanel)
leftPanel.SetSizer(leftSizer)
leftPanel.SetAutoLayout(1)
leftSizer.Fit(leftPanel)
我试过上面的代码,但TreeCtrl的高度并没有像我预期的那样扩展
有什么问题吗?以下内容对我很有用:
splitter = wx.SplitterWindow(self, style = wx.SP_BORDER)
leftPanel = wx.Panel(splitter)
rightPanel = wx.Panel(splitter)
localTree = wx.TreeCtrl(leftPanel)
leftSizer = wx.BoxSizer(wx.VERTICAL)
leftSizer.Add(localTree, 1, wx.EXPAND | wx.ALL)
leftPanel.SetSizer(leftSizer)
flickrTree = wx.TreeCtrl(rightPanel)
rightSizer = wx.BoxSizer(wx.VERTICAL)
rightSizer.Add(flickrTree, 1, wx.EXPAND | wx.ALL)
rightPanel.SetSizer(rightSizer)
splitter.SplitVertically(leftPanel, rightPanel)
关键是在将TreeCtrl添加到BoxSizer时设置比例值,即:
添加(localTree,1,wx.EXPAND | wx.ALIGN_CENTER)
而不是:
leftSizer.Add(localTree,flag=wx.EXPAND | wx.ALIGN_CENTER)
否则,它默认为零