Как я могу преобразовать QTime в QTimer, чтобы я мог напечатать оставшееся время qDebug
?
Вот некоторый код:
QTime time = QTime::fromString("23:54", "hh:mm");
Как я могу отнимать одну секунду от времени каждую секунду и печатать оставленное время, чтобы qDebug
?
Вы просто должны использовать 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();
}
Других решений пока нет …