- 新建项目Qt Widgets Application。
- 在构造函数中启动定时器
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QMessageBox>
#include <QCloseEvent>
#include <QDateTime>
#include <QTimer>
#include <QDebug>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
QTimer *timer = new QTimer(this);
connect(timer,SIGNAL(timeout()),this,SLOT(timerUpDate()));
timer->start(1000);
}
- 添加定时器处理函数
void MainWindow::timerUpDate()
{
QDateTime time = QDateTime::currentDateTime();
QString str = time.toString("yyyy-MM-dd hh:mm:ss ");
ui->label->setText(str);//需要在界面上添加一个label
}
注意头文件定义slot:
private slots:
void timerUpDate();
[static] void QTimer::singleShot(int msec, const QObject *receiver, const char *member)
这个静态函数在一个给定时间间隔 msec(毫秒) 之后调用一个槽。
QTimer::singleShot(3*1000, this, SLOT(timerUpDate())); //3s后调用timerUpDate,一次!
setSingleShot(true) 启动定时器一次。