2015-10-07 50 views
0

我在写一个正在使用QListView和自定义QStandardItems来显示日志数据的日志应用程序。我已经在应用程序中实现了过滤器,该过滤器将以不同方式着色匹配的行,并且在更改过滤器时,我必须操作列表中的每个项目,过一段时间后它变得非常慢。我不确定是什么导致了这一点,但我想知道是否可以在每次更换产品后重新绘制。如果是这样的话,我可以通过某种方式告诉QT在我完成操作所有项目之前不要重画吗?优化QListView更新

感谢您的帮助!

+0

需要多少项才能变慢?您可能还想显示一些代码(因为您要求优化帮助) –

+0

也许> 10.000。但我想我现在解决了它。我使用了一个工作线程来执行此更新,并使GUI更加快速响应。 – UglyBob

+0

好的。希望你实际上并没有从工作线程中调用Qt GUI调用。这会导致随机段错误。 –

回答

0

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