一、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之自绘制饼图