一、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. Maven Nexus Setup tutorial

    Technorati 标签: maven,nexus 1. download the Nexus from website for free version: 2. Run the Command p ...

  2. ZooKeeper典型应用场景一览

    原文地址:http://jm-blog.aliapp.com/?p=1232 ZooKeeper典型应用场景一览 数据发布与订阅(配置中心) 发布与订阅模型,即所谓的配置中心,顾名思义就是发布者将数据 ...

  3. http协议读书笔记3-Web服务器

    一.web服务器的实现 web服务器逻辑实现了HTTP协议和相关的TCP连接处理,管理着web资源,并负责提供Web服务器的管理功能.web服务器逻辑和操作系统共同负责管理TCP连接.底层操作系统负责 ...

  4. Oracle 11g RAC环境下Private IP修改方法及异常处理

    Oracle 11g RAC环境下Private IP修改方法及异常处理 Oracle 11g RAC环境下Private IP修改方法及异常处理 一. 修改方法 1. 确认所有节点CRS服务以启动 ...

  5. Conway's Game of Life: An Exercise in WPF, MVVM and C#

    This blog post was written for the Lockheed Martin Insight blog, sharing here for the external audie ...

  6. 支付宝支付后回调通知中responseTxt=true isSign=False可能的问题

    在做支付宝的二维码扫码支付功能,生成二维码成功,扫描后也能付款,付款后也能回调通知到我的页面,但是验证签名的时候出错,找了好久终于找到是什么原因: 引用 1. 用的RSA签名验证,默认密钥纯字符,并不 ...

  7. Mac 安装终端软件

    1.安装或者重新安装lua环境 下载 lua 地址: http://www.lua.org/versions.html 1.进入 lua 目录 2.make macosx 3.sudo make in ...

  8. C#记录对象的变化

    经常,我们会遇到一个场景,在保存对象到数据库之前,对比内存对象和数据库值的差异. 下面我写了一种实现,为保存定义一个事件,然后自动找出对象之间的差异,请注意,并没有通过反射的方式去获取每个属性及其值. ...

  9. OceanBase RPC机制简要说明

    http://note.youdao.com/share/?id=d2163a7ba8ec1ec58e64683a961c5121&type=note RPC是OB一个比较重要的各个组件间进行 ...

  10. 关于MySQL redo log,挖些坑,慢慢填

    1. 为什么可以设置为多个redo log ? (innodb_log_files_in_group,默认值和推荐值都是2,我们线上设的统一为4): 2. 什么条件下会触发刷脏?除了master_th ...