一、配置QCustomPlot
成都创新互联公司专业为企业提供当阳网站建设、当阳做网站、当阳网站设计、当阳网站制作等企业网站建设、网页设计与制作、当阳企业网站模板建站服务,10余年当阳做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。官方下载地址:http://www.qcustomplot.com/index.php/download
下载之后将文件解压(不要有中文路径)
打开Qt,新建一个窗体工程
将解压得到的文件夹里面的头文件qcustomplot.h和源文件qcustomplot.cpp复制到工程文件夹下
在Qt中,添加已有文件,将头文件qcustomplot.h和提升类名称输入“QCustomPlot”,点击添加源文件qcustomplot.cpp都添加到工程
在工程的pro中添加上printsupport
打开界面文件,进入ui,向主窗口中添加一个widget区域,对着所添加的widget区域点击右键,选择“提升为”按钮
提升类名称输入“QCustomPlot”,点击添加
点击提升,完成配置
二、QCustomPlot的使用
原理:
QCustomPlot可以理解为就是一个绘图板的类,它继承于Widget,界面中的Widget类提升为QCustomPlot才能够绘图
QCustomPlot中的每一个曲线是一个Graph对象,凡是跟显示数据有关的我们就对Graph进行操作或调用Graph对象提供的方法
一个QCustomPlot里有四个坐标轴,其中xAxis和yAxis就是我们上图看到的x和y坐标轴,还有两个坐标轴xAxis1和yAxis1为上方和右方的x、y坐标,默认隐藏,可以通过程序设计显示
接着上面的操作,首先将上面提升为QCustomPlot类的容器界面的对象重命名为qCustomPlot
在主类Widget构造函数中加入如下代码,绘制一个标准标准的y=x^3的曲线
[cpp] view plain
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
//定义两个可变数组存放绘图的坐标数据
QVector
//添加数据,我们这里演示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();
}
编译
最后,我在操作的过程中遇到这里出现错误
将
[cpp] view plain
#include"../../qcustomplot.h"
改成
[cpp] view plain
#include
就可以了
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。