Статическое значение Qtime по умолчанию

У меня есть метод. Этот метод имеет статический QTime, но я хочу сбросить это значение, если что-то произошло.

static QTime time(QTime::currentTime());

// calculate two new data points:
double key = time.elapsed()/1000;

static double lastPointKey = 0;

if(newPlot == true){
     // like tihs key = 0 ;         
    // lastPointKey = 0 ;
}

1 ответ

Решение

Использовать QTime::restart() Способ сброса вашего таймера.

Кроме того, взгляните на QElapsedTimer учебный класс. У него похожий API (elapsed(), restart() и т. д.), однако вы можете найти его более подходящим для вашей ситуации. Из документов:

QElapsedTimer будет использовать монотонные эталонные часы платформы на всех платформах, которые ее поддерживают. Это имеет дополнительное преимущество, которое QElapsedTimer невосприимчив к изменениям времени, таким как пользователь, корректирующий время. Также в отличие QTime, QElapsedTimer защищен от изменений настроек часового пояса, таких как переходы на летнее время.

Другие вопросы по тегам