QTimer自动运行一次的代码,C++
时间: 2024-09-29 15:10:35 浏览: 38
在C++中,你可以使用Qt库中的QTimer类来创建定时任务,使其按照指定的时间间隔自动执行。以下是一个简单的例子,展示如何设置一个QTimer每500毫秒(即半秒)自动运行一次回调函数:
```cpp
#include <QObject>
#include <QTimer>
class MyClass : public QObject
{
Q_OBJECT
public:
explicit MyClass(QObject *parent = nullptr)
: QObject(parent), timer_(this) // 定义一个timer成员变量
{
// 创建并启动定时器
QTimer::singleShot(500, this, &MyClass::onTimeout); // 单次定时500ms后执行onTimeout函数
connect(&timer_, &QTimer::timeout, this, &MyClass::onTimeout); // 连接信号到槽函数
}
private slots:
void onTimeout() // 当定时器到达时间点会触发这个函数
{
// 在这里编写你需要自动执行的代码
qDebug() << "定时器执行";
// 如果需要继续计时,可以调用start(500),再次设定500毫秒后执行
}
private:
QTimer timer_; // QTimer对象
};
```
在这个例子中,`onTimeout`函数会在第一次设定的时间过后立即被调用一次,并在每次后续的`start`调用后保持每500毫秒执行一次。
阅读全文