定时器是用来处理周期性事件的一种对象,类似于硬件定时器。例如设置一个定时器的定时周期为 1000 毫秒,那么每 1000 毫秒就会发射定时器的 timeout() 信号,在信号关联的槽函数里就可以做相应的处理。
定时器实例程序运行示意图
要使用定时器,需要添加QTimer类
#include
1.窗口类添加定义(忽略非相关定义):
class Dialog : public QDialog
{
private:
QTimer *fTimer; //定义一个定时器fTimer
QTime fTimeCounter;// 定义一个计时器fTimeCounter
private slots:
void on_timer_timeout () ; //定义一个槽函数timeout,作为定时器的timeout()
信号的响应槽函数
};
2.在窗口类的构造函数里创建定时器,并进行信号与槽的关联:
Dialog::Dialog(QWidget *parent) : QDialog(parent), ui(new Ui::Dialog)
{
ui->setupUi(this);
fTimer=new QTimer(this);
fTimer->stop();
fTimer->setInterval (1000) ;//设置定时周期,单位:毫秒
connect(fTimer,SIGNAL(timeout()),this,SLOT(on_timer_timeout()));