class QScaleDraw : public QwtScaleDraw
{
public:
explicit QScaleDraw(bool enableScientificNotation = false)
: m_scientificNotationEnabled(enableScientificNotation)
{
}
virtual QwtText label(double value) const override {
if (m_scientificNotationEnabled) {
return QwtScaleDraw::label(value);
} else {
return QwtText(QString::number(value, 'f', 0));
}
}
private:
bool m_scientificNotationEnabled;
};
// Usage:
oscPlot_ = new QwtPlot(parentFrame);
oscPlot_->setAxisScaleDraw(QwtAxis::YLeft, new QScaleDraw);
Qwt устанавливается только из исходников, поэтому нужно сначала Установить Qt, а затем уже устанавливать Qwt.
При установке Qt из под MSYS2, достаточно поставить пакет qwt через packman. Ручная установка не требуется. Кроме того, QtCreator запущенный из под MSYS2 не будет видеть Qwt установленную вручную вне системы MSYS2. Т.к. MSYS2 как раз создает изолированную среду сборки под конкретную платформу - minGw, ucrt, clang и т.д.
Qt 6 поддерживается, начиная с Qwt 6.2. При попытке установить версию Qwt-6.1 вывалилась ошибка "qwt_clipper.cpp:354:9: error: 'qSort' was not declared in this scope; did you mean 'qsort'?". Интернет подсказал, что qSort был obsolete и теперь исключен.
cd с:\qwt_src
qmake6 qwt.pro
make
make install
При этом библиотека устанавливается в директорию Qwt-6.2.1-dev, согласно конфигурации описанной в qwtconfig.pri. При необходимости поставить библиотеку в другое место необходимо подправить путь установки в этом файле.
QT_PLUGIN_PATH = C:\Qwt-6.2.1-dev\plugins
QMAKEFEATURES = Значение: C:\Qwt-6.2.1-dev\features
в а переменную Path добавляем
C:\Qwt-6.2.1-dev\lib
Источник: Habr: Qwt и Qt Creator. Быстро и просто. Часть 1: визуализатор данных