本文介绍QTimer类的使用方法。
1.单次触发
在某些情况下,定时器只运行一次,可使用单次触发方式。
QTimer *timer = new QTimer(this);
timer->setTimerType(Qt::PreciseTimer);
connect(timer, &QTimer::timeout, this, &MainWindow::timeout);
timer->setSingleShot(true);
timer->start(1000);
void MainWindow::timeout()
{
}
或直接采用静态方法:
QTimer::singleShot(1000, Qt::PreciseTimer, this, &MainWindow::timeout);
void MainWindow::timeout()
{
}
有些时候为了程序的简洁,可以编写匿名函数处理:
QTimer::singleShot(1000, Qt::PreciseTimer, this, [=]() {
//timeout process
});
2.重复触发
定时器需要重复触发,可采用重复触发方式。
QTimer *timer = new QTimer(this);
timer->setTimerType(Qt::PreciseTimer);
connect(timer, &QTimer::timeout, this, &MainWindow::timeout);
timer->start(1000);
timer->stop(); //stop timer
void MainWindow::timeout()
{
}
总结,本文介绍了Qt编程中QTimer类的使用方法。