В данном уроке мы создадим простое приложение по выводу двух графиков и продемонстрируем использование базового функционала данной библиотеки.
Урок был создан и протестирован на Qt версии 4.5.2. и Qwt версии 5.2.0.
Первое что вы должны сделать при создании нового проекта, это:
1. Скопировать из
C:\qwt-5.2.0\lib файл
qwt5.dll или
qwtd5.dll (в зависимости от сборки) в рабочую директорию программы проекта.
2. Добавить в файл проекта *.pro такие строки:
INCLUDEPATH += C:\qwt-5.2.0\src
LIBS += C:\qwt-5.2.0\lib\libqwtd5.a
Всё, библиотека подключена и готова к использованию.
Далее в заголовочном модуле (*.h где используется Qt) мы должны подключить те заголовочные файлы QWT, функционал которых хотим использовать. В нашем примере это:
C++ (Qt)
#include <qwt_plot.h>
#include <qwt_plot_curve.h>
Далее, в том месте где хотим использовать qwt, пишем:
C++ (Qt)
// Подготовка данных Х0, Х1, Х2
// Size- колличество данных
...
// Создается область рисования и инициализируется ссылка на нее
QwtPlot *myPlot = new QwtPlot(this);
// Создается первая линия
QwtPlotCurve *curve1 = new QwtPlotCurve("H ot T");
curve1->setRenderHint(QwtPlotItem::RenderAntialiased); // Устанавливается параметр сглаживания для этой кривой
// Создается вторая линия
QwtPlotCurve *curve2 = new QwtPlotCurve("Curve 2");
// В области рисования обозначаются оси координат
myPlot->setAxisTitle(QwtPlot::xBottom, "data 1/seconds"); // Подпись горизонтальной оси
myPlot->setAxisScale(QwtPlot::xBottom, 0, 1000); // Масштаб горизонтальной оси
myPlot->setAxisTitle(QwtPlot::yLeft, "data 2/seconds"); // Подпись вертикальной оси
// Устанавливается цвет для второй линии
curve2->setPen(QPen(Qt::blue));
// Задается геометрия линий, согласно заранее подготовленным данным
curve1->setData(X0,X1,Size);
curve2->setData(X0,X2,Size);
// Линии размещаются на области рисования
curve1->attach(myPlot);
urve2->attach(myPlot);
// И наконец, обновляется область рисования
myPlot->resize(800, 600); // Устанавливается размер области рисования
myPlot->replot(); // Область рисования перерисовывается
...
Код довольно прозрачный и дополнительных пояснений практически не требует. Единственное следует обратить внимание на то, что тип переменных X0, X1, X2, X3 - double;
Пример приклеплен в аттаче. Файл данных
dat.dat находится в папке
*/dannie.
При запуске программы выбираем "файл-открыть". Потом выбираем "просмотр-обработка".
Если мышкой изменить размер открытого окна, размер области рисования останется неизменным, что есть не совсем хорошо. Исправить этот недостаток постараемся в следующем уроке, а также добавим скроллинг.