mirror of
https://github.com/Brandon-Rozek/website.git
synced 2024-11-13 20:27:29 -05:00
995 B
995 B
title | date | draft | tags | medium_enabled | |
---|---|---|---|---|---|
Qt Timers | 2020-03-19T17:30:04-04:00 | false |
|
true |
Qt has two great timers, one that repeats an action after a certain interval, and one that is meant for one-off operations. They call these QTimer
and QTimer::singleShot
respectively. This post is going to assume that we're working with a class named Test
that inherits QObject
.
Let us first look at the one that repeats. This code needs to be inside a class that inherits QObject
.
void Test::callbackRepeat(void) {
// Code that executes when the timer times out
}
// ......
int interval = 1000; // Units: milliseconds
QTimer* timer = new QTimer(this);
timer->start(interval);
connect(timer, &QTimer::timeout, this, &Test::callbackRepeat);
Now for the one-off...
void Test::callback(void) {
// Code that executes when the timer times out
}
// ......
int timeout = 1000; // Units: milliseconds
QTimer::singleShot(timeout, this, &Test::callback)