QTime 到 QTimer

QTime to QTimer

如何将 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();
}