一、QCustomPlot简介

之前在Qt之自绘制饼图这篇文章的说明中我简单的描述了下目前依赖于qt的第三方绘图库,此后我会针对自己使用QCustomPlot的情况做一总结,以方便大家参考

QCustomPlot的官方网址:Qt Plotting Widget QCustomPlot - Introduction

QCustomPlot的源码只有2个文件,所以添加供自己的工程师特别方便,或者你自己把这两个文件编译成静态库、动态库的形式都行。

二、效果预览

如图1是我自己把官方的示例代码融合在一起做的一个小示例,展示了QCustomPlot能画的图,唯一美中不足的是QCustomPlot不能画饼图,这不也就有了文章开头说的Qt之自绘制饼图文章,这篇文章中我使用Qt中原生的QWidget来自己绘制了一个大小可变的饼图,有兴趣的小伙伴可以去看看。

图1 QCustomPlot使用

看到上面的效果感觉怎么样呢,是不是还不错,可以满足大多数人的需求了,可是如果你们做的产品要求比较严格,那么你很可能就需要在QCustomPlot的源码上进行二次开发,甚至更改源码。。。

三、源码下载

如图2所示,是下载QCustomPlot源码的方式,红色框中的文件是包含源码、示例和帮助文档的;黄色框中的文件只有源码;省下的一个文件看名字都知道了,只是一个动态库而已,那么我们就根据自己的需要来下载了,即使你都下载了也没事。这里我选择下载的是第一个,包含了帮助文档、示例代码以及源码。

图2 QCustomPlot下载

细心的同学就会发现图2中有两个版本的QCustomPlot包,为什么会有两个包呢,其实是这样的,1.3.2版本是一个发布包,也就是说官方认为这是一个相对来说比较稳定的版本,而2.0.0-beta版本则是一个测试版本,或者说官方把其开源出来只是让大家帮忙测试,并回馈使用结果。

以上的对比仅仅只是从源码的发布方式比较的,如果看了源码你就会发现,其实不仅仅如此,2.0.0-beta版本和1.3.2release版本还是有很大的区别,我个人也研究了几天的QCustomPlot源码,我觉着最大的区别应该只有3点,也就是2.0.0版本比1.3.2版本有优势的地方:真正的分层绘制、图标数据的分离和坐标轴刻度计算,说到这里我顺带提一嘴,QCustomPlot封装不好的地方,或者有待改进的地方,说的不对,欢迎指正,对于坐标轴和坐标轴文本是否绘制的判断条件仅仅是判断画笔的类型,对于大小刻度是否绘制的判断条件仅仅是坐标轴刻度的刻度个数时候为零,郁闷。。。

后续我会分功能点,或者说是具体的类模块来分析QCustomPlot这个库,好了,这篇QCustomPlot的开篇文章到此也就基本结束了,有兴趣的小伙伴可以继续关注。。。

注:后续文章都是以QCustomPlot2.2.0beta版本为基础进行分析

四、相关文章

Qt之自绘制饼图

QCustomplot使用分享(一) 能做什么事的更多相关文章

  1. QCustomplot使用分享(七) 层(完结)

    一.分层绘制 一直说要讲2.0.0版本,但总是想把1.3.2版本拿出来比较一下,这篇文章也不例外.QCustomPlot2.0.0beta版本比1.3.2release版本有一个很大的改进那就是分层绘 ...

  2. QCustomplot使用分享(六) 坐标轴和网格线

    一.概述 前边已经写了5篇对QCustomPlot的讲解,看过上述的几篇文章后,基本就能做一些简单的使用了,但是如果想要做到高度的控制图表,那么坐标轴将是很重要的一部分,因为坐标轴就是图表的一个参考系 ...

  3. QCustomplot使用分享(五) 布局

    一.历史对比 关于QCPLayoutElement这个元素的讲解之前,我想先对1.3.2release版本和2.0.0beta版本的该元素做以简单的对比介绍,首先,1.3.2release版本时,鼠标 ...

  4. QCustomplot使用分享(二) 源码解读

    一.头文件概述 从这篇文章开始,我们将正式的进入到QCustomPlot的实践学习中来,首先我们先来学习下QCustomPlot的类图,如果下载了QCustomPlot源码的同学可以自己去QCusto ...

  5. QCustomplot使用分享(三) 图

    一.可以实现的图 相对于其他绘制图表的第三方库来说,QCustomPlot算是比较轻量的,不仅仅能实现功能,而且二次开发比较容易.下面我们来具体说下他可以实现那些图 QCPGraph:折线图,Line ...

  6. QCustomplot使用分享(四) QCPAbstractItem

    一.是什么 说起图,大家一下就可能想到折线图.柱状图和饼图等,但是除了这些显眼的东西以外其实还有很多东西辅助的存在着,有了这些辅助的东西图才会看起来有意义,或者说更加的真实.有说服力.这些东西都包括那 ...

  7. QCustomplot使用分享(八) 绘制图表-加载cvs文件

    目录 一.概述 二.效果图 三.源码讲解 1.源码结构 2.头文件 3.移动游标 4.设置坐标轴矩形个数 5.添加图表数据 6.设置折线图类型 6.其他函数 四.测试方式 1.测试工程 2.测试文件 ...

  8. QCustomplot使用分享(九) 绘制图表-多功能游标

    目录 一.概述 二.效果图 三.源码讲解 1.源码结构 2.头文件 3.添加游标 4.监测移动 5.移动游标 6.其他函数 四.测试方式 1.测试工程 2.测试文件 3.测试代码 五.相关文章 六.总 ...

  9. 分享一个自己做的SpringMVC的PPT

    分享一个自己做的SpringMVC的PPT,由于比较忙只写了一些重要的部分

随机推荐

  1. windows 2012 试用180天

    windows server 2012 官方下载,可以使用180天, 快到期的时候执行以下命令 slmgr.vbs -rearm

  2. 移动APP接口遇到的一些小问题

    一:IIS设置站点后无法访问apk文件 首先要给IIS服务器根目录添加MIME类型影射文件扩展名:apkMIME类型 :application/vnd.android.package-archive ...

  3. Codeforces Round #292 (Div. 1) B. Drazil and Tiles 拓扑排序

    B. Drazil and Tiles 题目连接: http://codeforces.com/contest/516/problem/B Description Drazil created a f ...

  4. 常用js代码

    common-function-lib.js /*产生随机颜色*/ function randomColor() { var rand = Math.floor(Math.random() * 0xF ...

  5. 转:如何学习javascript

    ps:每过一段时间就会发觉自己懂的越来越少,打开编辑器的时候不知道从何入手.兴许是过于急于求成,总没有系统地去对这门语言进行学习,囫囵吞枣,只想着能够解决工作需求.是时候让自己重新出发,从零开始,一页 ...

  6. 在java项目中使用log4j的实例

    测试log4j的项目结构 Log4j.properties的路径为    src/config/log4j Log4j.properties文件的内容 下面定义日志输出级别是 INFO,并且配置了2个 ...

  7. iOS开发——项目实战总结&带你看看Objective-C的精髓

    带你看看Objective-C的精髓 1:接口与实现 @interface...@end @implementation...@end @class 接口(头文件) 实现文件 向前引用 注:类别通过增 ...

  8. CentOS6下Haproxy的安装配置

    Haproxy 是一个开源的负载均衡和反向代理软件,其提供了高可用的网络服务.其一般是应用于web服务,但同时也能为SMTP和终端服务等提供可靠的支持. 1.下载安装haproxy wget ftp: ...

  9. OllyICE 调试的程序无法处理异常 解决方法

    问题描述 在用OllyICE打开可执行文件时出现如下图所示错误 解决方法 1. 选项 -> 调试设置 , 打开调试选项 2. 切换到 异常 页签 3. 取消勾选 忽略(传递给程序)以下异常: 单 ...

  10. Filter之——GZIP全站压缩

    GZIP压缩:将压缩后的文本文件,发送给浏览器,减少流量. 一.进行gzip压缩条件: 1.请求头:Accept-Encoding : gzip  告诉服务器,该浏览器支持gzip压缩. 2.响应头: ...