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

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

一:饼图绘制:

1:定义pie 类:

//在 cpiewidget.h 中

2:创建pie 对象:

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

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

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

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

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

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

花了2天时间,写了上面文章,并对饼图代码做了详细注释。

如果上述文章对你学习有帮助,且需要获取源代码的同学,请按如下操作:

============================================================

原创不易,请【订阅本专栏】或【打赏5元】,并留下联系方式,源码立即发送。

============================================================

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

  1. python画50个图-Python绘制六种可视化图表详解,三维图最炫酷!你觉得呢?

    Python绘制六种可视化图表详解,三维图最炫酷!你觉得呢? 可视化图表,有相当多种,但常见的也就下面几种,其他比较复杂一点,大都也是基于如下几种进行组合,变换出来的.对于初学者来说,很容易被这官网上 ...

  2. QT QTabWidget 控件 使用详解

    本文详细的介绍了QTabWidget控件的各种操作,例如:新建界面.设置页面名字.设置提示信息.设置页面激活.设置标题栏位置.设置页面关闭按钮.设置页面关闭按钮.获取页面下标.获取页面总数.清空所有页 ...

  3. 用python绘制漂亮的图形-用python绘制图形的实例详解

    1.环境系统:windows10 python版本:python3.6.1 使用的库:matplotlib,numpy 2.numpy库产生随机数几种方法import numpy as npnumpy ...

  4. 【OpenCV 例程300篇】214. 绘制椭圆的参数详解

    OpenCV 例程200篇 总目录 [youcans 的 OpenCV 例程300篇]214. 绘制椭圆的参数详解 OpenCV提供了绘图功能,可以在图像上绘制直线.矩形.圆.椭圆等各种几何图形. 7 ...

  5. python怎么画条形图-python绘制条形图方法代码详解

    1.首先要绘制一个简单的条形图 import numpy as np import matplotlib.pyplot as plt from matplotlib import mlab from ...

  6. python如何做散点图-matplotlib在python上绘制3D散点图实例详解

    大家可以先参考官方演示文档: 效果图: ''' ============== 3D scatterplot ============== Demonstration of a basic scatte ...

  7. python画三维温度散点图-matplotlib在python上绘制3D散点图实例详解

    大家可以先参考官方演示文档: 效果图: ''' ============== 3D scatterplot ============== Demonstration of a basic scatte ...

  8. python绘制散点图-matplotlib在python上绘制3D散点图实例详解

    大家可以先参考官方演示文档: 效果图: ''' ============== 3D scatterplot ============== Demonstration of a basic scatte ...

  9. 用g.raphael.js高速绘制饼图、柱状图、点状图、折线图(上)

    首先介绍一下什么是g.raphael.这个又要说到什么是raphael.js.raphael是一个javascript库,可以用来跨浏览器绘制各种图形,只要是你想得到的图形都可以用raphael绘制出 ...

  10. QT绘制饼图和自定义饼图切片

    QT绘制饼图和自定义饼图切片 项目简介 项目技术 项目展示 主要源码片段解析 获取完整项目源码传送门 项目简介 创建一个简单的饼图以及如何对饼图切片进行一些自定义. 项目技术 qt5.12,qt ch ...

最新文章

  1. 转程序员,都去写一写前端代码吧
  2. led显示屏建设标准_户外LED显示屏3大防护标准_显示屏应对恶劣天气?
  3. Java的call by value_call by value or reference ?
  4. Linux程序开机启动
  5. keil uvision2 c语言调试,keil uvision2
  6. LiveCoding
  7. OpenGL基础4:最基础的单元 —— 三角形
  8. DPM2010 粒度恢复个人用户邮箱
  9. 如果计算机正执行屏幕保护程序 当用户,计算机一级考试参考试题(含答案)篇篇一.doc...
  10. 三、Multisim放置门电路
  11. lisp 标注螺纹孔_螺纹的标注方法
  12. golang 腾讯通用OCR 文字识别 Api 调用
  13. 无监督学习 半监督学习 #博学谷IT学习技术支持#
  14. C++排列与组合算法详解
  15. Python股票基金数据分析 爬虫 基金对比 Django框架 数据可视化
  16. 电脑任务栏应用图标变成白色怎么恢复
  17. 观张国荣的电影《霸王别姬》有感
  18. 爱思服务器能不能更新苹果手机系统,iPhone 无法更新系统怎么办?
  19. 已知两角及其夹边,解三角形
  20. const与const

热门文章

  1. 使用marquee标签实现文字滚动
  2. 《自然语言处理(哈工大 关毅 64集视频)》学习笔记:第二章 数学基础与语言学基础
  3. 小程序毕设答辩问题【论坛/校园墙小程序】
  4. Excel单元格和单元格区域的引用
  5. 计算机组成原理_扩展操作码
  6. Android 集成二维码扫描器
  7. Tableau和FineReport(帆软)的区別!
  8. Android之应用开发基础
  9. 车品觉老师的阿里巴巴数据分析‘三板斧’
  10. C++类和结构体的区别