Время отображения QCustomPlot в формате ЧЧ: ММ: СС

Мне было интересно, можно ли в библиотеке QCustomPlot изменить формат отображения данных на одной из осей. В моем приложении по оси X у меня есть время в секундах, и я хотел бы вместо этого отображать шаги в формате ЧЧ: ММ: СС. В качестве альтернативы я подумываю об изменении отображения только с секунд до минут и часов в зависимости от длины X и обновлении метки с времени [с] на [мин] до [час]. Но я бы избегал этого, если бы можно было сделать это так, как я описал. Буду признателен за любую помощь!

Когда используешь:

customPlot->xAxis->setTickLabelType(QCPAxis::ltDateTime);
customPlot->xAxis->setDateTimeFormat("hh:mm:ss");

Мой график начинается с часа 1 вместо 0:Есть ли способ это исправить?

2 ответа

Решение

Ты можешь использовать setTickLabelType() а также setDateTimeFormat:

plot->xAxis->setTickLabelType(QCPAxis::ltDateTime);
plot->xAxis->setDateTimeFormat("hh:mm:ss");

Строка формата строится в соответствии со строкой формата QDateTime::toString(),

      // Создаем формат отображения дискретных отсчетов времени захвата мгновенного курса судна
QSharedPointer<QCPAxisTickerDateTime> dateTicker(new QCPAxisTickerDateTime);
// Установка формата отображения времени захвата мгновенного курса судна
dateTicker->setDateTimeFormat("hh:mm:ss");
// Передаем вектор подписей в график
m_QCustomPlot->yAxis->setTicker(dateTicker);
Другие вопросы по тегам