【原创】QT 绘制饼图,曲线图,柱状图,详解。

最近因工作需要,用QT绘制数据图表。刚开始感觉不知如何下手,在参考了网上的文章后(部分代码来自网上),现学现卖,把饼图,曲线图,柱状图全部做到一起了。不啰嗦,上图!!!    

【原创】QT 绘制饼图,曲线图,柱状图,详解。_第1张图片

 QT 是面向对象的编程语言, 图形库的用法比较复杂,时间一长就忘记了,等下次维护的时候,又要重新读代码。下面对这三种图形的绘制方法做详细解析和注释,防止自己忘记的同时,也将我的经验与大家分享:

一:饼图绘制:

1:定义pie 类:

//在 cpiewidget.h 中

【原创】QT 绘制饼图,曲线图,柱状图,详解。_第2张图片

2:创建pie 对象:

此时m_pie 是一个CPieWidget类型的对象指针,它继承了自QWidget,当创建这个对象时,会自动调用它本身的构造函数:

【原创】QT 绘制饼图,曲线图,柱状图,详解。_第3张图片

【原创】QT 绘制饼图,曲线图,柱状图,详解。_第4张图片

初始化完毕,应用程序运行后,ui 界面首次show 时,QWidget 类对象会自动调用它的成员函数paintEvent(),并在其中调用绘图函数drawConcaveShading();

【原创】QT 绘制饼图,曲线图,柱状图,详解。_第5张图片

【原创】QT 绘制饼图,曲线图,柱状图,详解。_第6张图片

【原创】QT 绘制饼图,曲线图,柱状图,详解。_第7张图片

以上对饼图的绘制,分3个部分:

1:绘制各分区扇形图:主要涉及到计算饼图圆心坐标和半径,计算扇形的起始角度和要画多少度。

2:绘制各分区的名称:主要涉及到名称和百分比的组合,以及计算各扇形名称文本的起始位置坐标

3:绘制各分区下划线:分两段,一段是作为文本的下划线,另一段是指向分区中心的倾斜线,主要线段的开始和结束坐标。

花了2天时间,写了上面文章,并对饼图代码做了详细注释。关于曲线图和柱状图的解析,敬请期待,,,,

如果本文对你学习有帮助,博主非常愿意与你分享源代码,请先扫描左边二维码,给予小小的支持(只需1元),然后加入右边的Q群,或者留下邮箱,即刻获取源码。

【原创】QT 绘制饼图,曲线图,柱状图,详解。_第8张图片

你可能感兴趣的:(QT,QT)