Qtablewidget无法平滑滚动

2024-04-25 13:29:16 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

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

任何帮助都将不胜感激


Tags: 方法文本高度table情况手动解决方案行时
1条回答
网友
1楼 · 发布于 2024-04-25 13:29:16

我就是这样解决的: 在用文本填充表格单元格时,如果我的文本有超过1000行(text.count("\n")),我把它放在QTextEdit()中,然后用setCellWidget设置它。我之所以没有把它们都放在QTextEdit()s中,是因为Windows可以显示有限数量的GUI元素(<;20000),而且,我有10列x最多100000行

相关问题 更多 >

    热门问题