gpt4 book ai didi

c++ - QTimer 和事件状态

转载 作者:行者123 更新时间:2023-11-28 07:31:32 27 4
gpt4 key购买 nike

这是我的情况:

我已经连接了以下内容:

connect(timer, SIGNAL(timeout()), this, SLOT(avg()));
timer->start(5000);

avg() 的时间计算是 1 秒。所以我应该为 avg 函数取 5 个值的平均值。

在 avg() 函数中,是否允许写入,当计时器处于事件状态时,它会像上面那样计算平均值:

do
{
... // Saving all values, within the 5 seconds of timer and averaging them

}
while **(timer->isActive())**;

我的问题/查询:粗体字段 (timer ->isActive()) 是否意味着循环将工作并进行处理,而计时器没有从固定的 5 秒超时?

最佳答案

不,您完全错误地使用了 QTimer。它的目的不是测量时间,而是在指定的时间间隔调用槽。例如,如果你调用 start,你的插槽将在 5 秒后被调用,然后它会在 5 秒后再次调用,等等。isActive 将始终为真,直到你调用停止

QElapsedTimer 将对您的目的更有帮助。调用 start 来初始化定时器。检查您是否应该使用 timer.elapsed() >= 5000 终止该过程。

关于c++ - QTimer 和事件状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17589778/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com