wxPython中的网格和大小调整器
因此,我在wxPython中遇到了一个网格和大小调整器的问题,如果我包括这个表,那么格式似乎有点混乱,整个窗口似乎有正确的大小,项目显示在正确的位置 但是当这张桌子包括了里面的浅灰色,我猜是面板? 但由于这个深灰色区域,表下的项目被隐藏 删除setcolsize调用也无法修复它 谢谢你的回复wxPython中的网格和大小调整器,python,user-interface,wxpython,Python,User Interface,Wxpython,因此,我在wxPython中遇到了一个网格和大小调整器的问题,如果我包括这个表,那么格式似乎有点混乱,整个窗口似乎有正确的大小,项目显示在正确的位置 但是当这张桌子包括了里面的浅灰色,我猜是面板? 但由于这个深灰色区域,表下的项目被隐藏 删除setcolsize调用也无法修复它 谢谢你的回复 wx.Frame.__init__(self, parent, title=title) panel = wx.Panel(self) grid = wx.GridBagSizer
wx.Frame.__init__(self, parent, title=title)
panel = wx.Panel(self)
grid = wx.GridBagSizer(hgap=5, vgap=5)
# some other items comes before this
# FileGrid
fileF = wx.grid.Grid(panel)
fileF.CreateGrid(2,3)
fileF.SetColLabelSize(0)
fileF.SetRowLabelSize(0)
fileF.SetCellValue(0, 0, "Old")
fileF.SetCellValue(0, 1, "New")
fileF.SetCellValue(0, 2, "Update?")
grid.Add(fileF, pos=(5,0))
# FileGrid end
runBtn = wx.Button(panel, wx.ID_APPLY, "Apply")
self.Bind(wx.EVT_BUTTON, self.applyScRen, runBtn)
grid.Add(runBtn, pos=(6,0))
self.SetSizerAndFit(grid)
您没有提供完整的帧结构,但这应该会让您走上正确的轨道 将最后一行更改为:
panel.SetSizerAndFit(grid)
这已经改善了情况。sizer
的容器是面板
,而该面板又包含在框架
中
编辑
这是完整的工作版本。它生成此图像,然后是我对代码所做的关键更改:
#panel.CreateStatusBar()
vSizer.Add(grid, 0, wx.ALL, 5)
panel.SetSizerAndFit(grid)
self.CreateStatusBar()
self.SetInitialSize()
self.Show(True)
这修复了它,谢谢,但是现在
self.CreateStatusBar()
在底部重叠。AttributeError:“Panel”对象没有属性“CreateStatusBar”。框架拥有状态栏,就像菜单一样,据我所知,你能发送上面问题中的完整框架代码吗?移除面板是否与移除中间层一样有效?