QT中的定时器非常简单:
- 声明一个QTimer对象, QTimer *timer;
- 创建一个用于处理定时器的函数void slottimedone();
- 创建QTimer对象并启动定时器;
[source language=”cpp”]
// 头文件
#include <QTimer>
class MainWindow
{
private:
QTimer *timer;
private slots:
void slottimedone();
// ….
}
// 源文件
void MainWindow::slottimedone()
{
qDebug() << "Hello slottimedone()" << QDateTime::currentDateTime().toString();
}
MainWindow::MainWindow(QWidget *parent)
{
timer = new QTimer(this);
connect(timer, SIGNAL(timeout()), this, SLOT(slottimedone()));
timer->start(1000); // 启动定时器,单位为毫秒,周期性定时器
// timer->stop(); // 停止定时器
// timer->setSingleSlot(true); // 只为一次性定时器,而不是周期性
// ……
}
[/source]