Date Редакция Категория comp Теги Qt / графика / Cpp

QCustomPlot — это виджет Qt для построения двумерных графиков и диаграмм, в том числе, в реальном времени. С его помощью можно подготовить графики печатного качества и экспортировать их в файлы векторных (PDF) и растровых (PNG, JPG и BMP) форматов.

Использование QCustomPlot начинается с добавления к проекту файлов qcustomplot.h и qcustomplot.cpp и выполнения простых инструкций по установке.

Документация QCustomPlot содержит множество примеров. Ниже приведен Quadratic Demo, из которого мы выбросили созданную в Designer'е форму.

Итак, создаем пустой проект, добавляем в него qcustomplot.h и qcustomplot.cpp, а также:

// main.cpp
#include <QApplication>
#include "qcustomplot.h"

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);

    // создаем виджет QCustomPlot
    QCustomPlot cPlot;
    // генерируем данные
    QVector<double> x(101), y(101);
    for (int i=0; i<101; ++i)
    {
        x[i] = i/50.0 - 1; // x изменяется от -1 до 1
        y[i] = x[i]*x[i];
    }
    // создаем график и добавляем данные:
    cPlot.addGraph();
    cPlot.graph(0)->setData(x, y);
    // задаем обозначения осей координат:
    cPlot.xAxis->setLabel("x");
    cPlot.yAxis->setLabel("y");
    // устанавливаем диапазоны отображения данных:
    cPlot.xAxis->setRange(-1, 1);
    cPlot.yAxis->setRange(0, 1);
    // рисуем график
    cPlot.replot();

    cPlot.setWindowTitle("QCustomPlot: Quadratic Demo");
    cPlot.resize(548, 420);
    cPlot.show();

    return app.exec();
}

и файл проекта:

QT += widgets printsupport

SOURCES += \
    main.cpp \
    qcustomplot.cpp

HEADERS += \
    qcustomplot.h

QCustomPlot наследует классу QWidget, поэтому мы пользуемся как "родными" методами QCustomPlot, так и унаследованными им setWindowTitle, resize и show.

А вот как выглядит результат:

qdemo.png



Комментарии

comments powered by Disqus