问题:我用文本填充了QTableWidget单元格(10列)。我发现无论我有多少行(10行或100000行)滚动到高度超过3000行的行都非常慢,不够平滑(我使用table.verticalHeader().sectionSize(i)
来找出每行的高度)。在
我试图做的是:所以我试图使用table.setRowHeight(i,3000)
设置这些行的高度,但当我滚动这些行时,我得到的延迟是1-5秒。同样,在这种情况下,我需要手动调整行的高度以查看该行中的所有文本(因为它是被剪切的),这也是很慢的。在
问题:我需要对所有较小的行执行table.resizeRowsToContent()
,所以我认为解决方案是设置表中每一行的高度限制。有一个setMinimumSectionSize()方法,但我找不到任何max size的方法,所以我该怎么做呢?是否可以在每个高度大于3000的单元格内设置滚动条,以便我可以在该单元格内滚动文本?也许这会加快滚动表的速度?在
任何帮助都将不胜感激
我就是这样解决的: 在用文本填充表格单元格时,如果我的文本有超过1000行(
text.count("\n")
),我把它放在QTextEdit()
中,然后用setCellWidget
设置它。我之所以没有把它们都放在QTextEdit()
s中,是因为Windows可以显示有限数量的GUI元素(<;20000),而且,我有10列x最多100000行相关问题 更多 >
编程相关推荐