Qt之QCustomPlot绘图(一)配置和第一个例子
最近一个用Qt开发的项目需要绘制坐标曲线,我在老师的指点下使用了QCustomPlot这个插件,使用方法简单,功能还算不错。
可是在网上找了很多资料和博文都只是将官方提供的例子演示一遍,没有系统全面的学习资料,所以我决定把自己在探索过程中获得的一些开发实例和经验分享出来,与大家共同学习交流,请各位朋友多多指教。
一、QCustomPlot的安装
官方下载地址:http://www.qcustomplot.com/index.php/download
推荐下载第一个链接,里面有很多官方给的例子可以参考。

下载之后将文件解压到任意一个文件夹中,不要有中文路径。
打开QT,新建一个窗体工程
将解压得到的文件夹里面的头文件qcustomplot.h和源文件qcustomplot.cpp复制粘贴到工程文件夹下。
在Qt中,对着工程名右键,添加已有文件,将头文件qcustomplot.h和源文件qcustomplot.cpp都添加到工程中来。

接着在工程的pro文件的第9行末尾加入代 printsupport,如下图

打开界面文件,进入图形化设计界面,向主窗口中添加一个widget区域,对着所添加的widget区域点击右键,选择“提升为”按钮。
提升类名称输入“QCustomPlot”,点击添加。

在之后的界面中选中QCustomPlot,点击提升按钮,我们创建的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的曲线,代码含义代码中有注释。
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this); //定义两个可变数组存放绘图的坐标数据
QVector<double> x(),y();//分别存放x和y坐标的数据,101为数据长度
//添加数据,我们这里演示y=x^3,为了正负对称,我们x从-10到+10
for(int i=;i<;i++)
{
x[i] = i/ - ;
y[i] = x[i] * x[i] * x[i];
} //向绘图区域QCustomPlot(从widget提升来的)添加一条曲线
ui->qCustomPlot->addGraph();
//添加数据
ui->qCustomPlot->graph()->setData(x,y); //设置坐标轴标签名称
ui->qCustomPlot->xAxis->setLabel("x");
ui->qCustomPlot->yAxis->setLabel("y"); //设置坐标轴显示范围,否则我们只能看到默认的范围
ui->qCustomPlot->xAxis->setRange(-,);
ui->qCustomPlot->yAxis->setRange(-,); //重绘,这里可以不用,官方例子有,执行setData函数后自动重绘
//我认为应该用于动态显示或者是改变坐标轴范围之后的动态显示,我们以后探索
//ui->qCustomPlot->replot(); }
这样我们就简单的绘制好一个3次方的曲线了

Qt之QCustomPlot绘图(一)配置和第一个例子的更多相关文章
- Qt之QCustomPlot(图形库)
简述 QCustomPlot是一个基于Qt C++的图形库,用于绘制和数据可视化 - 制作漂亮的2D图 - 曲线图.趋势图.坐标图.柱状图等,并为实时可视化应用程序提供高性能服务.它没有进一步的依赖关 ...
- Qt For Android 开发环境配置
想了想,还是再写一篇关于Qt for Android开发环境配置的教程. 准备:Java jdk,Android sdk,Android adb,Android ndk,Android ant,Qt ...
- QT的安装及环境配置
QT的安装及环境配置 一.windows的下QT的安装及环境配置 (一)从框架安装程序中安装 步骤: 准备:下载QT库,下载指定版本的MINGW,QT IDE 1.下载QT安装文件如:qt-win-o ...
- OpenGL初学:安装配置与第一个程序
OpenGL初学:安装配置与第一个程序 2014年10月12日 12:37:03 process-z 阅读数:12413 标签: opengl安装教程 更多 个人分类: OpenGL 计算机图形学 ...
- OpenGL C#绘图环境配置
OpenGL C#绘图环境配置 OpenGL简介 OpenGL作为一种图形学编程接口已经非常流行, 虽然在大型游戏方面DirectX有一定的市场占有率, 但由于OpenGL的开放性,可移植性等优点 ...
- QT:提高QT Creator编译速度,配置预编译头Stable.h
提高QT Creator编译速度,配置预编译头Stable.h QT Creator支持预编译头提高编辑速度,网上有些教程写得不详细,走了弯路,具体实现方法如下. (1)工程.PRO文件加入下面代码 ...
- Qt在vs2010下的配置
https://blog.csdn.net/chenbang110/article/details/7607250 首先不要使用中文目录, 1 下载Qt的安装包和VS2010的Qt插件 2. 安装Qt ...
- ElasticSearch 5学习(5)——第一个例子(很实用)
想要知道ElasticSearch是如何使用的,最快的方式就是通过一个简单的例子,第一个例子将会包括基本概念如索引.搜索.和聚合等,需求是关于公司管理员工的一些业务. 员工文档索引 业务首先需要存储员 ...
- springmvc的介绍和第一个例子
SpringMVC是Spring 框架自带的一部分. SpringMVC底层基于:Servlet Struts2底层基于:filter struts1底层基于:Servlet spring 各模块 我 ...
随机推荐
- <未测>源码升级安装glibc和rpm升级glibc
源码升级安装glibc和rpm升级glibc http://jacklin9.spaces.live.com/blog/cns!A891B52E1182AFB2!346.entry http://bl ...
- 图论(费用流):BZOJ 4514 [Sdoi2016]数字配对
4514: [Sdoi2016]数字配对 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 820 Solved: 345[Submit][Status ...
- 微软Azure Services Bus中的工作流
在Azure Services Platform上对于工作流服务的支持,一直是我很感兴趣的内容.当然也是疑问 比较多的领域.鉴于这方面的资料太少,所以今天就从AzureServicesKit中的一个D ...
- vtk 导出结果图片
项目中需要将渲染结果导出为图片. (1) 一开始搜了vtk的方法,发现: http://blog.csdn.net/lbluekey/article/details/3346312 http://w ...
- 如何更改项目所使用的C#版本
- HDU2222 Keywords Search(AC自动机)
Keywords Search Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others ...
- Java调用R(三)_系统命令调用
java通过配置的系统命令Rscript直接调用R脚本. 优点:R脚本和Java代码完全分离 缺点:R中变量不能控制 1. Java本地能够成功调用. public void CallR() { Ru ...
- oracle权限问题
Assign the "Create global objects" user right to the non-Administrator account. 1. Click S ...
- win7方面API學習
Getting Applicateion Data Folder Paths Win32 #include <shlobj.h> //link with shell32.lib PWSTR ...
- 一个站点的诞生06-- ORM
站点上的数据,存在数据库里. 一般用Mysql,也实用sqlite,Postgre.操作数据库要会SQL语言,这个有点麻烦,经常须要查手冊. 此外.每家数据库在实现SQL语言的时候,经常会加料,添加一 ...