【发布时间】:2018-08-03 14:12:42
【问题描述】:
如何将 QTime 转换为 QTimer,以便将剩余时间打印到 qDebug?
这是一些代码:
QTime time = QTime::fromString("23:54", "hh:mm");
我怎样才能每秒从时间中抽出一秒并将剩余的时间打印到qDebug?
【问题讨论】:
-
你想每秒打印一次时间吗?
-
这正是我想要的。
如何将 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();
}
【讨论】: