如何在Qt中定期调用函数?

时间:2013-05-28 07:22:55

标签: c++ qt

是否可以使用Qt函数在C ++中定期调用函数?
以及如何在设置为定期调用后停止定时功能?

5 个答案:

答案 0 :(得分:16)

如果你正在使用qt,你可以使用QTimer,它默认会创建一个重复的计时器。

文档中有一个例子(如下所示)和一个例子(模拟时钟)。

QTimer *timer = new QTimer(this);
connect(timer, SIGNAL(timeout()), this, SLOT(update()));
timer->start(1000);

答案 1 :(得分:2)

一种可能性是使用QTimer timeout信号和QObject广告位。连接两个和start()计时器。

http://qt-project.org/doc/qt-4.8/qtimer.html#timeout

要停止计时器,请拨打stop()

答案 2 :(得分:1)

您可以使用QTimer类。

只需声明具有所需时间间隔的QTimer,将您的功能包装在QObject作为广告位,并将QTimer的{​​{1}}信号连接到广告位你刚宣布了。

然后,当满足停止调用该函数的条件时,只需调用timeout()

答案 3 :(得分:1)

正如人们在我面前的答案中所说,你可以使用timeout()信号来触发一个函数来运行。

如果您想在某个时刻停止计时器,您可以连接到stop()插槽,或直接自行调用。

答案 4 :(得分:0)

创建一个使用timer functionallity或while循环的函数,只需要等待100 ms,当你的函数满足要求时才会中断。如果您只是在此处发布的所有其他问题中进行搜索,您可以很容易地找到解决方案。