Qt第三方库----QCustomPlot

1、软件下载php

下载地址:http://www.qcustomplot.com/index.php/download 数组

这里推荐下载第一个连接的内容:
函数

注:这里的第三方库要放在非中文目录下。ui


2、配置this

(1)、新建工程,而且添加头文件qcustomplot.h和源文件qcustomplot.cpp。spa

(2)、在工程pro文件末尾添加printsupport:
设计

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets printsupport

(3)、进入图形设计界面,添加widget控件,对着所添加的widget区域点击右键,选择“提高为”按钮,提高类名称输入“QCustomPlot”,点击添加。code

(4)、运行程序,以下所示:对象

至此,QCustomPlot已经配置完毕。继承

注:默认状况下是x:0~4.8,y:0~4.8。


3、绘图

原理:

QCustomPlot是一个绘图板的类,它继承于Widget,界面中的Widget类提高为QCustomPlot才可以绘图。

QCustomPlot中的每个曲线是一个Graph对象,凡是跟显示数据有关的就对Graph进行操做或调用Graph对象提供的方法。

一个QCustomPlot里有四个坐标轴,其中xAxisyAxis就是咱们上图看到的x和y坐标轴,还有两个坐标轴xAxis1和yAxis1为上方和右方的x、y坐标,默认隐藏,能够经过程序设计显示。

步骤:

(1)、首先将上面提高为QCustomPlot类的容器界面的对象widget重命名为qCustomPlot。

(2)、在主类Widget构造函数中添加以下代码,便可绘制一个标准标准的y=x^3的曲线。

Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);

    //定义两个可变数组存放绘图的坐标数据
    QVector<double> x(101),y(101);//分别存放x和y坐标的数据,101为数据长度
    //添加数据,咱们这里演示y=x^3,为了正负对称,咱们x从-10到+10
    for(int i=0;i<101;i++)
    {
        x[i] = i/5 - 10;
        y[i] = x[i] * x[i] * x[i];
    }

    //向绘图区域QCustomPlot(从widget提高来的)添加一条曲线
    ui->qCustomPlot->addGraph();
    //添加数据
    ui->qCustomPlot->graph(0)->setData(x,y);

    //设置坐标轴标签名称
    ui->qCustomPlot->xAxis->setLabel("x");
    ui->qCustomPlot->yAxis->setLabel("y");

    //设置坐标轴显示范围,不然咱们只能看到默认的范围
    ui->qCustomPlot->xAxis->setRange(-11,11);
    ui->qCustomPlot->yAxis->setRange(-1100,1100);
    
    //重绘,这里能够不用,官方例子有,执行setData函数后自动重绘
    //我认为应该用于动态显示或者是改变坐标轴范围以后的动态显示,咱们之后探索
    //ui->qCustomPlot->replot();

}

图形以下所示:

说明:若是设置完x、y取值范围以后,显示结果仍然为默认范围(即x:0~4.8,y:0~4.8),那么缘由在于没有把设置代码放在构造函数中(也就是说构造函数调用的仍然是默认的配置),只须要将初始化代码放在构造函数中便可。

相关文章
相关标签/搜索