优化 QListView 更新

Optimizing QListView update

我正在编写一个日志应用程序,它使用带有自定义 QStandardItems 的 QListView 来显示日志数据。我在应用程序中实现了过滤器,这些过滤器会以不同的方式为匹配的行着色,并且在更改过滤器时我必须操作列表中的每个项目,一段时间后会变得非常慢。我还不确定是什么原因造成的,但我想知道它是否会在每次更改项目后重新绘制。如果是这样的话,我能否以某种方式告诉 QT 在我完成对所有项目的操作之前不要重新绘制?

感谢您的帮助!

为了帮助他人,我可以补充一点,我通过实现自己的视图来解决此问题,该视图本身处理绘制事件并且仅绘制当前在屏幕上可见的行。这使得它非常快,并且没有内部 QT 视图似乎能够做类似的事情。