Инструменты пользователя

Инструменты сайта


notes:qwt

Qwt notes

Убрать scientific формат (1E+x)

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-6.2 для Qt6

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 и теперь исключен.

  1. Скачиваем с sourceforge архив с версией не младше Qwt 6.2.0
  2. Распаковываем содержимое в новую директорию, которую после установки можно будет удалить. Например, в с:\qwt_src.
  3. Запускаем терминал "MSYS2 MINGW64" из закладки MSYS2 меню Пуск. Переходим в директорию, куда распаковали архив командой
    cd с:\qwt_src
  4. Запускаем конфигурирование сборки
    qmake6 qwt.pro
  5. Затем запускаем сборку Qwt
    make
  6. Я устанавливал версию Qwt 6.2.1. При компиляции вываливается много предупреждений о том, что некоторые методы QDateTime deprecated (т.е. скоро будут исключены) и необходимо использовать QTimeZone, toTimeSpec( Qt::LocalTime ) и прочее. Наверное следовало устанавливать версию от Qwt 6.3, возможно там разработчики Qwt это исправили. Тем не менее, все собралось успешно.
  7. Устанавливаем библиотеку
    make install

    При этом библиотека устанавливается в директорию Qwt-6.2.1-dev, согласно конфигурации описанной в qwtconfig.pri. При необходимости поставить библиотеку в другое место необходимо подправить путь установки в этом файле.

  8. Теперь необходимо прописать пути к библиотеке Qwt, чтобы Qt мог ее найти. В переменных окружения добавляем две переменные:
         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: визуализатор данных

notes/qwt.txt · Последнее изменение: 2025/01/12 01:31 — vasco