int startTimer(int interval, Qt::TimerType timerType = Qt::CoarseTimer);
功能:启动一个定时器事件并返回一个定时器id
参数说明:
interval:定时器的触发时间(触发的间隔时间)
void QObject::killTimer(int id)
功能:关闭指定id的定时器
参数说明:
id:启动定时器时返回的id
virtual void timerEvent(QTimerEvent *event);
功能:当启动定时器后自动调用的函数(虚函数需要重写)
参数说明:
event:事件(可用于判断当前发生的事件等)
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QTimer>
#include <QDebug>
QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = nullptr);
void timerEvent(QTimerEvent *e);
~MainWindow();
private:
Ui::MainWindow *ui;
int timerid1;
int timerid2;
};
#endif // MAINWINDOW_H
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
timerid1 = startTimer(1000);
timerid2 = startTimer(3000);
}
void MainWindow::timerEvent(QTimerEvent *e)
{
if(e->timerId()==timerid1)
{
qDebug("timer1");
}
else if(e->timerId()==timerid2)
{
qDebug("timer2");
}
}
MainWindow::~MainWindow()
{
delete ui;
}
#include "mainwindow.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();
}