我正在写一个中央显示小部件,它包含许多小单元小部件,其中每个小部件都有一些QLabels来显示一些文本信息。Qt:太多setText调用导致滞后
我总共有100个QLabels。并且它们中的每一个都以2Hz左右的速度更新。 然后我的GUI线程变得非常滞后...
那里有什么可能的解决方案?
100个QLabels位于滚动区域btw。
我正在写一个中央显示小部件,它包含许多小单元小部件,其中每个小部件都有一些QLabels来显示一些文本信息。Qt:太多setText调用导致滞后
我总共有100个QLabels。并且它们中的每一个都以2Hz左右的速度更新。 然后我的GUI线程变得非常滞后...
那里有什么可能的解决方案?
100个QLabels位于滚动区域btw。
当您使用滚动区域时,我想,您一次不显示全部100个标签,对吧?你必须只更新那些可见的标签。出于这个原因,我建议使用Qt模型 - 视图 - 控制器(MVC)类,如QTableView等。这将确保只有可见项(单元)将被处理,性能方面这种方法将是非常有效的。
首先刷新只可见的QLabels。这些QLabel是否绑定到数据类?尝试阅读[本](http://stackoverflow.com/questions/21091229/how-to-data-bind-a-label-text-to-an-underlying-objects-property) – LPs 2015-02-24 09:46:44