Какая альтернатива QTimer? - PullRequest
1 голос
/ 20 июня 2020

Функция слота QTimer :: start имеет интервал миллисекунды:

Запускает или перезапускает таймер с интервалом ожидания mse c миллисекунд.

Но mse c является типом int и не может занимать длительный интервал. Какая альтернатива QTimer может занять длительное время?

1 Ответ

1 голос
/ 20 июня 2020

В этом случае вы можете использовать что-то вроде почасового таймера, подключенного к функции, или лямбда, который проверяет текущую временную точку по отношению к цели ...

/*
 * We want to trigger some event one year from now.
 */
auto endpoint = QDateTime::now().addYears(1);
QTimer hourly_timer;
QObject::connect(&hourly_timer, &QTimer::timeout,
                 [endpoint]()
                   {
                     if (QDateTime::now() >= endpoint) {

                       /*
                        * Target time reached.  Do whatever...
                        */
                     }
                   });
hourly_timer.start(3600 * 1000);
...