【发布时间】:2013-09-13 06:22:29
【问题描述】:
我有一个 wxpython csv 阅读器。我在网格上显示结果。网格将占据我屏幕的一半左右。我想一次显示 100 行。我指定有 100 行,但我无法滚动到底部的 50。我已经通过写入我看不到的行然后复制整个列并粘贴到 excel 中证明了这些行。我期望看到的是一个允许我滚动到底部 50 的滚动条。我允许编辑列的大小。当我增加列的高度时,会出现滚动条,但仍然只允许我查看前 50 列。 (如果用户使列高比正常值大一英寸,我的滚动增加一英寸)我最好的猜测是我启动/获得大小调整器、面板和网格组合的最佳大小的方式有问题。我已经删除了不需要的代码,但布局面板和框是我的整体/主面板和框。
import wx.grid as grd
import wx
self.layoutPanel = wx.Panel(self)
self.layoutBox = wx.BoxSizer(wx.VERTICAL)
self.previewPanel = wx.Panel(self.layoutPanel)
self.previewBox = wx.BoxSizer(wx.VERTICAL)
self.resultGrid = grd.Grid.__init__(self, self.previewPanel,0)
self.resultGrid.CreateGrid(105,20)
self.previewBox.Add(self.resultGrid,0, wx.GROW)
self.resultGrid.SetSize(self.resultGrid.GetBestSize())
self.previewPanel.SetSizer(self.previewBox)
self.layoutBox.Add(self.previewPanel,0, wx.ALL)
self.layoutPanel.SetSizerAndFit(self.layoutBox)
self.layoutPanel.Layout()
【问题讨论】:
-
我没有看到对 CreateGrid 的调用,您实际上告诉网格应该有多少列和行。如果你不这样做,那么你应该在虚拟模式下使用小部件。
-
是的,我忘记将代码添加到示例中,但我的原始代码中确实有。我必须更改其中一些行以了解我要完成的工作,因为我将这段代码分解到不同的地方。