0
我在wxFrame中有一個wxCollapsiblePane和一個wxGrid。每次我摺疊或展開wxCollapsiblePane時,整個框架都會調整大小。我想要的是wxGrid的增長和縮小,而框架保持相同的大小。我還注意到,儘管我明確創建了500x500大小的wxFrame,但它實際上縮小以適應其內容。我認爲這與sizer有關,但我沒有試過似乎會影響到這一點。任何人都可以指出我要出錯的地方嗎?這是我的代碼到目前爲止。wxCollapsiblePane強制框架調整大小
import wx
import wx.grid
class Frame(wx.Frame):
def __init__(self, *args, **kwargs):
super(Frame, self).__init__(*args, **kwargs)
cpane = wx.CollapsiblePane(self)
p = cpane.GetPane()
sz = wx.BoxSizer()
sz.Add(wx.TextCtrl(p), 1, wx.EXPAND)
p.SetSizer(sz)
sizer = wx.BoxSizer(wx.VERTICAL)
self.grid = wx.grid.Grid(self)
self.grid.CreateGrid(5, 5)
sizer.Add(cpane, 0, wx.EXPAND)
sizer.Add(self.grid, 1, wx.EXPAND)
self.SetSizer(sizer)
self.SetAutoLayout(1)
sizer.Fit(self)
self.Show()
app = wx.App(False)
win = Frame(None, size=(500, 500))
win.Show()
app.MainLoop()
謝謝,我已經找到了解決方法,將所有的小部件放在一個面板中,但這是一個更接近於解決方案。我曾想過關於SetAutoLayout,但我直接從官方文檔中的例子中複製它,它們喜歡它們可能會過時 – aquavitae