一、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. spring发送邮件(多人接收或抄送多少带附件发送)

    系统中的附件分享功能界面 抄送多个效果图 多个接收者效果图 抄送多人带附件源码 多个接收者带附件源码

  2. GTD时间管理(3)---时间特区图

    最近在网上看到一副时间特区图,想象非常深,特点想分享给大家. 从上图可以看出 说明一个人全天的状况 说明: 全天时段 状态 7:30-8:00 是处于起床,穿衣,刷牙,吃早餐 8:00-9:00 是处 ...

  3. [转] 配置Log4j

    Log4J的配置文件(Configuration File)就是用来设置记录器的级别.存放器和布局的,它可接key=value格式的设置或xml格式的设置信息.通过配置,可以创建出Log4J的运行环境 ...

  4. [界面开发新秀]免费的AYUI,开发360领航版系列教程[2/40]

            <界面开发风AYUI-基于WPF By AY> 大家好! 距离上篇博客发布有10天了,因为我在开发AYUI4.X效果更惊艳 我是AY,很高兴,终于可以写自己的作品的,网络博 ...

  5. Codeforces Round #177 (Div. 1) 题解【ABCD】

    Codeforces Round #177 (Div. 1) A. Polo the Penguin and Strings 题意 让你构造一个长度为n的串,且里面恰好包含k个不同字符,让你构造的字符 ...

  6. icmp,tcp,traceroute,ping,iptables

    有东莞的监控主机到北京BGP出问题了: 报警短信疯狂发送: 找东莞IDC和北京BGP服务商协查: 有个奇怪的问题:北京到东莞trcaceroute都有路由信息 东莞143段到北京全无路由信息:但,东莞 ...

  7. python排序算法的实现-快速排序

    1. 算法描述: 1.先从数列中取出一个数作为基准数. 2.分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边. 3.再对左右区间重复第二步,直到各区间只有一个数. 2.pyth ...

  8. 【转】drupal7请求异常,执行时间过长的解决方法

    drupal7请求错误,执行时间过长的解决办法 根据你的系统或网络设置Drupal不能读取网页,造成功能缺失.可能是web服务器配置或PHP设置引起的,可用更新.获取更新源.使用OpenID登 录或使 ...

  9. 读匿名object对象的属性值

    读匿名object对象的属性值 1.定义读object对象值的功能方法 public static class StaticClass { public static string ValueByKe ...

  10. 关于Android真机调测Profiler

    U3D中的Profile也是可以直接在链接安卓设备运行游戏下查看的,导出真机链接U3D的Profile看数据,这样能更好的测试具体原因.   大概看了下官方的做法,看了几张帖子顺带把做法记录下来.   ...