QElapsedTimer timer;
    timer.start();

    slowOperation1();

    qDebug() << "The slow operation took" << timer.elapsed() << "milliseconds";


http://doc.qt.io/qt-5/qelapsedtimer.html#invalidate

qDebug()之后,我想停止此计时器。我在那里看不到停止功能,也看不到单个镜头属性。

出路是什么?

最佳答案

您无法停止QElapsedTimer,因为没有计时器。调用方法start()时,QElapsedTimer保存当前时间。

来自qelapsedtimer_generic.cpp

void QElapsedTimer::start() Q_DECL_NOTHROW
{
    restart();
}

qint64 QElapsedTimer::restart() Q_DECL_NOTHROW
{
    qint64 old = t1;
    t1 = QDateTime::currentMSecsSinceEpoch();
    t2 = 0;
    return t1 - old;
}


经过后,它将再次获取当前时间,并计算差值。

qint64 QElapsedTimer::elapsed() const Q_DECL_NOTHROW
{
    return QDateTime::currentMSecsSinceEpoch() - t1;
}


附言具体实现取决于平台:WindowsUnixMac

09-06 10:51