10

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

4

5 回答 5

19

如果您使用的是 qt,您可以使用 QTimer,它默认创建一个重复的计时器。

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

QTimer *timer = new QTimer(this);
connect(timer, SIGNAL(timeout()), this, SLOT(update()));
timer->start(1000);
于 2013-05-28T07:31:48.977 回答
2

一种可能性是使用QTimer timeout信号和QObject插槽。连接两者和start()计时器。

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

要停止计时器,请调用stop()

于 2013-05-28T07:31:24.990 回答
1

正如人们在我之前的答案中所说的那样,您可以使用 timeout() 信号来触发函数运行。

如果你想在某个时候停止计时器,你可以连接到 stop() 槽,或者自己直接调用它。

于 2013-05-28T08:26:16.347 回答
1

您可以使用QTimer类。

只需QTimer用所需的时间间隔声明 a ,将您的函数包装在 aQObject作为插槽中,并将QTimer'timeout()信号连接到您刚刚声明的插槽。

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

于 2013-05-28T07:31:42.910 回答
0

制作一个使用定时器功能或只等待 100 毫秒的 while 循环的函数,当您的函数满足要求时,就会中断。如果您只是在此处发布的所有其他问题中进行搜索,您可以很容易地找到一个解决方案。

于 2013-05-28T07:30:23.597 回答