IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> QCharts-QPieSeries QPieSlice饼图详解 -> 正文阅读

[C++知识库]QCharts-QPieSeries QPieSlice饼图详解

一、饼图

在这里插入图片描述

饼图可以表现各分量占总量的关系,以及各分量之间的大小对比关系。

二、Qt饼图的基本元素

基本对象元素,QChartView,QChart,QPieSeries,QPieSlice

  1. QChartView :is a standalone widget that can display charts.
 QChartView是绘制chart图像的控件。
  1. QChart: is a class manages the graphical representation of the chart’s series, legends, and axes.
QChart是管理数据图像元素的类,这些元素包括数据、图例、坐标轴等。
  1. QPieSeires: is a class presents data in pie charts
QPieSeires是饼图切片数据的集合。
  1. QPieSlice: is a class represents a single slice in a pie series.
    QPieSlice 是单个切片的数据。

跟饼图相关的对象之间的关系

注: 含有多个切片的series 加入到一个Qchart中以后,不会画出多个饼图,而是把这些数据集合成一个饼图的series数据。

三、饼图创建

  1. 添加Qt Chart模块和依赖
    .pro文件添加 chart模块
//	.pro文件添加 chart模块
QT       += core gui  charts

// 头文件添加QtChart 相关的依赖依赖和QPieSice
#include <QtCharts>
#include <QChartView>
#include <QPieSeries>
#include <QPieSlice>
  1. 创建QPieSlice切片对象
//QPieSlice(QString label, qreal value, QObject *parent = nullptr)
QPieSlice *slice0 =new QPieSlice("hlf",11);
QPieSlice *slice1 =new QPieSlice("sun",12);
QPieSlice *slice2 =new QPieSlice("zheng",15);
  1. 创建QPieSeries 对象,添加切片对象QPieSlice
//QPieSeries(QObject *parent = nullptr)
QPieSeries *series= new QPieSeires();

//bool append(QPieSlice *slice)
series->append(slice0);
series->append(slice1);
series->append(slice2);
  1. 创建QChart对象,添加Series
//QChart::QChart(QGraphicsItem *parent = nullptr, Qt::WindowFlags wFlags = Qt::WindowFlags())
//void QChart::addSeries(QAbstractSeries *series)
QChart *chart= new QChart();
chart->addSeries(series);
  1. 创建QChartView对象,设定Chart对象
QChartView chartviewPie= new QChartView();
QChartView chartviewPie->setChart(chart);
  1. 把QchartView添加到界面的一个Widget对象
//void QWidget::setParent(QWidget *parent, Qt::WindowFlags f)
chartviewPie->setParent(ui->pieChartView);
	pieChartView是界面上定义的一个QWidget组件

四、饼图属性的修改

比较形象的测试可以参考Qt Chart的示例piechartcustomization
在这里插入图片描述
在这里插入图片描述

4.1 Chart 整体属性

  • animationDuration : int 动画时间间隔

  • animationEasingCurve : QEasingCurve 加速度模式
    – 创建函数:QEasingCurve(QEasingCurve::Type type = Linear)
    – 枚举类型有:enum Type { Linear, InQuad, OutQuad, InOutQuad, …, Custom }

  • animationOptions : QChart::AnimationOptions 动画类型
    – QChart::NoAnimation 0x0 默认值
    – QChart::GridAxisAnimations 0x1 格栅动画
    – QChart::SeriesAnimations 0x2 切片动画
    – QChart::AllAnimations 0x3 所有动画 具体区别自己尝试

  • backgroundRoundness : qreal 背景圆环的直径

  • backgroundVisible : bool 背景可见选项 还有背景圆的刷子颜色等。

  • chartType : const QChart::ChartType chart类型
    – QChart::ChartTypeUndefined 0 无定义
    – QChart::ChartTypeCartesian 1 卡迪尔坐标系
    – QChart::ChartTypePolar 2 极坐标系

  • dropShadowEnabled : bool 阴影选项

  • locale : QLocale 本地化设置

  • localizeNumbers : bool 本地化设置选项

  • margins : QMargins 绘图需与到绘图方框的距离

  • plotArea : QRectF 绘图所属的方框

  • plotAreaBackgroundVisible : bool 绘图区域背景可见

  • theme : QChart::ChartTheme 绘画风格主题,风格主题的选择如下:
    – QChart::ChartThemeLight 0
    – QChart::ChartThemeBlueCerulean 1
    – QChart::ChartThemeDark 2
    – QChart::ChartThemeBrownSand 3
    – QChart::ChartThemeBlueNcs 4
    – QChart::ChartThemeHighContrast 5
    – QChart::ChartThemeBlueIcy 6
    – QChart::ChartThemeQt 7

  • title : QString 绘画的标题

4.2 QPieSeries数据对象的属性

  • count : const int 切片的数量 小于1的浮点数
  • endAngle : qreal ;终止角度
  • holeSize : qreal 中间圆环大小 小于1的浮点数
  • horizontalPosition : qreal 水平位置 小于1的浮点数
  • size : qreal 饼图的尺寸 小于1的浮点数
  • startAngle : qreal 开始角度
  • sum : const qreal 切片的数值总和
  • verticalPosition : qreal 垂直位置 小于1的浮点数

4.3 QPieSlice 切片相关属性

  • angleSpan : const qreal 计算得到的切片角度
  • borderColor : QColor 边框颜色
  • borderWidth : int 边框宽度
  • brush : QBrush 切片的颜色
  • color : QColor 切片颜色
  • explodeDistanceFactor : qreal 爆炸效果距离
  • exploded: bool 爆炸效果选项
  • label : QString 切片标识
  • labelArmLengthFactor : qreal 标签外部显示时线条长度
  • labelBrush :QBrush 标签颜色
  • labelColor : QColor 标签颜色
  • labelFont : QFont 标签字体
  • labelPosition :LabelPosition 标签位置
  • labelVisible : bool 标签显示选项
  • pen : QPen
  • percentage : const qreal 计算所的切片占比
  • startAngle : const qreal 切片起始角度
  • value : qreal 切片的数值

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-05-11 16:14:52  更:2022-05-11 16:16:58 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/10 14:48:28-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码