写一个QT程序计数器:10秒记一次数,30秒停止
时间: 2024-01-14 15:04:25 浏览: 105
这里是一个简单的 QT 程序,可以实现每隔 10 秒钟进行一次计数,30 秒后停止计数:
```cpp
#include <QCoreApplication>
#include <QTimer>
#include <QDebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QTimer timer;
int count = 0;
QObject::connect(&timer, &QTimer::timeout, [&](){
qDebug() << "Count: " << count++;
});
timer.start(10000); // 每隔 10 秒钟触发 timeout 信号
QTimer::singleShot(30000, [&](){
timer.stop(); // 30 秒后停止计时器
qDebug() << "Timer stopped.";
});
return a.exec();
}
```
程序中使用了一个 QTimer 对象,设置其时间间隔为 10000 毫秒(即 10 秒),并连接了它的 timeout 信号到一个 lambda 函数中,每次触发该信号时,计数器 count 就会加一,并打印输出到控制台。
另外,程序中还使用了 QTimer::singleShot() 函数,让程序在 30 秒后执行一个 lambda 函数,该函数调用 timer.stop() 来停止计时器,并输出一条消息到控制台。
阅读全文