QT中的定时器

QT中的定时器非常简单:

  1. 声明一个QTimer对象,  QTimer  *timer;
  2. 创建一个用于处理定时器的函数void slottimedone();
  3. 创建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]

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注