繁体   English   中英

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

[英]How to call a function periodically in Qt?

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

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

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

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

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

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

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

您可以使用QTimer类。

只需声明一个具有所需时间间隔的QTimer ,将函数作为插槽包装在QObject中,并将QTimertimeout()信号连接到刚刚声明的插槽。

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM