是否可以使用Qt函数在C ++中定期调用函数?
以及如何在设置为定期调用后停止定时功能?
答案 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,当你的函数满足要求时才会中断。如果您只是在此处发布的所有其他问题中进行搜索,您可以很容易地找到解决方案。