Статическое значение 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
защищен от изменений настроек часового пояса, таких как переходы на летнее время.