1

问题:我有填充有文本(10 列)的 QTableWidget 单元格。我发现无论我有多少行(10 或 100000)滚动到高度超过 3000 的行都非常慢并且不够平滑(我曾经table.verticalHeader().sectionSize(i)找出每一行的高度)。

我尝试做的事情:所以我尝试使用设置这些行的高度table.setRowHeight(i,3000),但是当我滚动这些行时,我得到了 1-5 秒的延迟。同样在这种情况下,我需要手动调整行的高度以查看该行中的所有文本(因为它被剪切了),这也很慢。

问题:我需要table.resizeRowsToContent()为所有较小的行做,所以我认为解决方案是为表中每一行的高度设置限制。有 setMinimumSectionSize() 方法,但我找不到最大尺寸,那我该怎么做?是否可以在高度> 3000的每个单元格内都有滚动条,以便我可以滚动该单元格内的文本?也许这会加快滚动表?

任何帮助,将不胜感激

4

1 回答 1

1

这就是我解决它的方法:在用文本填充表格单元格时,如果我的文本有超过 1000 行 ( text.count("\n")),我将其放入QTextEdit(),然后将其设置为setCellWidget. 我没有将它们全部放在QTextEdit()s 中的原因是 Windows 可以显示有限数量的 GUI 元素(<20000),并且正如我所说,我有 10 列 x 最多 100000 行

于 2014-01-20T12:44:42.620 回答