问题标签 [wxgrid]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1771 浏览

python - 我可以在 wxPython 的 wx.grid.Grid 中加速优化 GridCellAttr 的使用吗?

我正在制作一个 Windows 应用程序wx.grid.Grid,它可以处理非常大的 Microsoft Excel 文档。目前,它会很快打开一个包含 17 列和 12 000 多行的文件,并且我可以流畅地滚动。(这是一个对来自自定义表类的数据进行操作的虚拟表。)

无论如何,当我使用自定义网格单元属性对象时,问题就开始了,例如:

一旦一行中的每个单元格都具有自定义网格单元格属性,网格的性能就可以达到 99.9% 的水平。如果我每 3 秒重绘 1 次,我很幸运,而不是平滑滚动。我通过使用来修复了大多数这些实例grid.SetColAttr,这将性能恢复到了之前的平滑度,但有一种情况不起作用。应用程序遍历列中的每个单元格(12 000 个单元格),对数据执行一些处理,并根据结果应用自定义网格单元格属性。一旦完成,网格将成为一个缓慢的噩梦。

有没有办法消除这种可怕的性能损失并保留自定义单元格属性?我怀疑对于了解网格内部工作原理及其单元属性的人来说,答案非常简单。

谢谢。

0 投票
2 回答
1685 浏览

python - 如何在 wxPython 中控制 Grid 的视口?

我正在尝试在我的网格应用程序中实现查找功能。我可以使用 移动光标SetGridCursor(self, row, col),但我不知道如何将网格的“视口”移动到新的光标位置。换句话说,当光标移动到用户正在寻找的单元格时,用户仍然必须手动滚动直到他找到光标单元格。

如何以编程方式滚动网格,以便可以在视口中居中网格光标?


随机地,在写这个问题时,我去了 Grid wiki 页面,搜索了“scroll”这个词,发现:

MakeCellVisible( int row, int col )- 强制特定单元格可见,有效地滚动网格以给定单元格

这几乎解决了我的问题。我希望单元格在视口中居中,但此功能只会滚动,直到单元格在屏幕边缘可见。我找不到任何只影响网格滚动位置而不影响光标位置的函数。想法?

0 投票
1 回答
311 浏览

python - 是否可以从 wxPython 中的 GridSizeEvent 获取新的列大小?

当 awx.grid.Grid的列调整大小时,wx.grid.GridSizeEvent会发出 a 。从文档和dir(event)输出来看,这似乎是所有 wxPython 中最无用的类。它显然没有告诉您任何有关调整列大小的相关信息:调整了哪一列的大小、之前的大小以及现在的大小。

我想我可以维护一个{<column_index>: <column_size>}成对的字典,然后从每个调整大小事件中手动导出相关数据,但我认为我错过了一些东西,这不是必需的,所以:

GridSizeEvent是否可以在不手动跟踪所有列大小的情况下找出从 a 调整大小的列?

0 投票
1 回答
414 浏览

python - wx.Grid 和 wx.StockCursor

我在我的框架内创建了 wx.Grid 小部件,如果用户正在使用网格小部件,我想更改我的光标类型。我已经设法做到了wx.StockCursor.SetCursor methods但是如果用户将光标移动到单元格和行边框的交叉点上方,我的光标会继续返回标准光标。这是什么原因造成的?

0 投票
1 回答
1206 浏览

wxpython - 从 Python wx.Grid 复制和粘贴

我想知道是否有人可以帮忙?我有一个分成两个面板的表格。一个 leftP 有我的控件,而 rightP 有一个网格。我正在尝试从网格复制/粘贴到剪贴板。使用以下代码,我得到一个错误: AttributeError: 'RightPanel' object has no attribute 'grid'。
我遵循与“LeftPanel”相同的格式,这似乎有效。有什么想法吗?

0 投票
1 回答
2699 浏览

python - 将焦点设置到单元格 wxGrid

如何将焦点设置到 wxGrid 中的特定单元格?例如,我在一个单元格中捕获输入按下事件,并且我想获得焦点到该单元格右侧的单元格。默认行为是按下回车键时获得焦点到下面的单元格。

0 投票
1 回答
5454 浏览

wxpython - 更改网格数据时更改网格大小

在最初在 Python 中创建 wx 网格后,我无法更新它。我正在按照此处的步骤操作: http ://wiki.wxpython.org/wxGrid ,但由于某种原因,网格没有正确显示。尽管数据增长或缩小,行仍会继续添加和添加。

这是代码。单击刷新按钮重新初始化网格应该显示的数据。错误(我认为)在函数 refreshGrid 中,但我不知道是什么原因造成的!

0 投票
1 回答
629 浏览

python - 转到 wx.grid 中的特定行

我有填充数据的 wx.grid 并且我有搜索选项,所以当用户输入一些文本时,我找到它并选择该行。问题是该行仅被选中但不可见。它不会向下或向上滚动到该行。如何手动滚动到该行?

0 投票
1 回答
1914 浏览

python - wxgrid 单元格渲染器设置 col 大小

我创建了一个扩展 PyGridCellRenderer 的类,我可以使用 self.colSize = SOME_SIZE 设置列的大小,但是为所有列设置相同的大小,我如何设置特定列的大小?

0 投票
2 回答
1067 浏览

wxpython - wxPython、wxGrid:去掉网格底部的白色部分?

我正在构建一个小型 wxPython 应用程序,其作用是在 wxGrid 中显示 Clearquest 信息。网格的父级是一个面板,面板的父级是一个笔记本。每次单击按钮时,我都会创建一个新页面,获取我的信息并显示它们。到现在为止还挺好。

我的问题是,当我滚动到网格底部时,有一个我想去掉的水平空白区域。谁能告诉我是否有办法删除它?

这是一张有助于理解我的问题的图片。我想摆脱红色矩形中的空白。

编辑:如下所示,这里有一些关于如何定义尺寸器的精度:如您所见,窗口分为两部分: - 左侧部分专用于笔记本。笔记本的每个选项卡都是一个面板,其中 wx.Grid 用于显示我的数据 - 右侧部分专用于触发数据检索的按钮(它是一个静态框)。

首先,我声明了设置面板的框架,该面板将包含笔记本和按钮的静态框(我只显示一个按钮的代码,其他按钮无关紧要):

以下是笔记本和笔记本的每个选项卡的声明和调用方式:

最后,我的 MainGrid 的一个小样本,如果有帮助的话: