参考网址:
https://blog.csdn.net/qq_38880380/article/details/78367386
1、 首先创建一个定时器类的对象
QTimer *timer = new QTimer(this);
2、 timer 超时后会发出timeout()信号,所以在创建好定时器对象后给其建立信号与槽
connect(timer, SIGNAL(timeout()), this, SLOT(timeoutSlot()));
3、 在需要开启定时器的地方调用void QTimer::start ( int msec );
这个start函数参数也是毫秒级别;
timer->start(msec );
4、 在自己的超时槽函数timeoutSlot()里面做超时处理。
#include < QTimer >
namespace Ui {
class Widget;
}
class Widget : public QWidget
{
Q_OBJECT
public:
explicit Widget(QWidget *parent = NULL);
~Widget();
public slots:
void timeoutSlot();
private slots:
void on_pushButton_clicked();
private:
Ui::Widget *ui;
QTimer *timer;
int x;
};
Widget::Widget(QWidget *parent) :QWidget(parent),ui(new Ui::Widget)
{
ui->setupUi(this);
//1)首先创建一个定时器类的对象
timer=new QTimer(this);
//2) timer 超时后会发出timeout()信号,所以在创建好定时器对象后给其建立信号与槽
connect(timer,SIGNAL(timeout()),this,SLOT(timeoutSlot()));
x=0;
}
Widget::~Widget()
{
delete ui;
}
void Widget::on_pushButton_clicked()
{
//3)在需要开启定时器的地方调用void QTimer::start ( int msec );
timer->start(5000);
}
//4) 在自己的超时槽函数timeoutSlot()里面做超时处理。
void Widget::timeoutSlot()
{
qDebug()<<“TimeoutSlot”<<x++;
}