QTime到QTimer

时间:2018-02-23 13:45:03

标签: c++ qt qtimer qtime

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

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

如何每秒钟离开时间一秒钟并将剩余时间打印到qDebug

1 个答案:

答案 0 :(得分: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();
}