一、QT的定时器事件
#include <QTimerEvent>
Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{
ui->setupUi(this);
this->timer1 = this->startTimer(1000);
this->timer2 = this->startTimer(2000);
}
Widget::~Widget()
{
delete ui;
}
void Widget::timerEvent(QTimerEvent* e)
{
static int secondTime1 = 1;
static int secondTime2 = 1;
if (e->timerId() == timer1)
{
ui->label->setText(QString::number(secondTime1));
secondTime1++;
}
if (e->timerId() == timer2)
{
ui->label_2->setText(QString::number(secondTime2));
secondTime2++;
}
}
二、定时器类
#include <QTimer>
QTimer* timer3 = new QTimer(this);
timer3->start(500);
connect(timer3,&QTimer::timeout,this,[=](){
static int secondTime3 = 1;
ui->label_3->setText(QString::number(secondTime3));
secondTime3++;
});
connect(ui->pushButton,&QPushButton::clicked,this,[=](){
timer3->stop();
});