QTime to QTimer

Как я могу преобразовать QTime в QTimer, чтобы я мог напечатать оставшееся время qDebug?
Вот некоторый код:

QTime time = QTime::fromString("23:54", "hh:mm");

Как я могу отнимать одну секунду от времени каждую секунду и печатать оставленное время, чтобы qDebug?

0

Решение

Вы просто должны использовать QTimer который срабатывает каждую секунду, то вы должны уменьшить время с addSecs(-1) и распечатайте его в соответствующем формате:

#include <QCoreApplication>
#include <QTimer>
#include <QTime>
#include <QDebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);

QTimer timer;

QTime time = QTime::fromString("23:54", "hh:mm");

QObject::connect(&timer, &QTimer::timeout, [&time](){
time = time.addSecs(-1);
qDebug()<<time.toString("hh:mm:ss");
});
timer.start(1000);

return a.exec();
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]