0

如何将 QTime 转换为 QTimer 以便将剩余时间打印到qDebug?这是一些代码:

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

如何每秒从时间中抽出一秒并将剩余时间打印到qDebug

4

1 回答 1

0

您只需要使用QTimer每秒触发的 a ,然后您必须减少时间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();
}
于 2018-02-23T14:09:33.590 回答