断水客 2024-01-27 19:56 采纳率: 0%
浏览 14

如何提升多组qt控件之间的刷新同步率

初用qt,写了一个数码管仿真工具练手,源码放在托管上了:
https://github.com/WaterCutter/dimu
下面这是主页面readme

img

每个数码管构造时会开一个线程监听对应的vcc文件变化,捕捉到更改后会根据文件内容修改GUI的状态。

现在的问题是多个数码管存在的情况下,各个数码管的刷新同步率就比较低了,比如某个刷新了10次,另一个可能才9次

有可能是vcc文件刷新不同步引起的(每个数码管对应不同的vcc文件),也有可能是GUI刷新机制和延时引起的。

单单考虑GUI的刷新,有办法降低单次刷新的延时吗?多个监听线程之间的同步率如何提升?

  • 写回答

2条回答 默认 最新

  • 火花20180731 2024-01-30 17:45
    关注

    UI线程频繁响应槽函数,只会影响界面的重绘,反而容易造成界面卡顿。
    正确的做法是用一个bool标志位来描述当前的是否需要更新,然后用定时器去挨个检查每个线程的更新状态,在同一个槽函数中统一刷新所有控件。定时器的刷新频率可以控制在200ms之内,人眼几乎很难分辨。

    评论

报告相同问题?

问题事件

  • 创建了问题 1月27日