QPieSeries-饼状图

news2025/1/13 13:38:51
void Widget::initWindowQPie()
{

    //[1] 创建饼图
    QPieSeries* pSeries = new QPieSeries();
    pSeries->append("苹果", 15);
    pSeries->append("西瓜", 30);
    pSeries->append("香蕉", 10);
    pSeries->append("葡萄", 25);
    pSeries->append("榴莲", 20);


    //[2] 表示饼系列中的单个切片
    qreal total = 0; //qreal 是一个用于表示浮点数的数据类型
    qDebug() << pSeries->slices().size();
    for (int i = 0; i < pSeries->slices().size(); i++)
    {
        total += pSeries->slices().at(i)->value();
        qDebug()<< "test->total:" << total;
    }

    QList<QColor> colors = {Qt::red, Qt::green, Qt::yellow, Qt::blue, Qt::magenta};
    int colorIndex = 0;

    foreach (QPieSlice *slice, pSeries->slices())
    {

        // 每个切换设置颜色
        QColor color = colors[colorIndex % colors.size()]; // 循环使用颜色列表
        slice->setColor(color);

        qDebug() << "slice->value" << slice->value();
        qreal percentage = (slice->value() / total) * 100;
        slice->setLabel(QString("%1 (%2%)").arg(slice->label()).arg(percentage, 0, 'f', 1));
        // 此属性保留切片标签的可见性
        slice->setLabelVisible(true);

        colorIndex++;
    }


    QPieSlice *slice = pSeries->slices().at(1);
    // 此属性用于保存切片是否与饼图分离

    slice->setExploded(true);
    slice->setPen(QPen(Qt::darkGreen, 0));
    slice->setBrush(Qt::green);
    //![2]


    //![3] 创建图表
    QChart *chart = new QChart();
    chart->addSeries(pSeries);
    chart->setTitle("水果消费量");
    chart->legend()->hide();
    //![3]

    //![4] 图表视图
    QChartView *chartView = new QChartView();

    chartView->setChart(chart);

    chartView->setRenderHint(QPainter::Antialiasing);
    //![4]


    QVBoxLayout* pLayout = new QVBoxLayout(this);
    pLayout->addWidget(chartView);


}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1968526.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

文件解析漏洞—IIS解析漏洞—IIS6.X

目录 方式 1&#xff1a;目录解析 方式 2&#xff1a;畸形文件解析 方式 3&#xff1a;PUT 上传漏洞&#xff08;123.asp;.jpg 解析成 asp&#xff09; 环境&#xff1a;Windows server 2003 添加 IIS 管理工具——打开 IIS——添加网站 创建完成之后&#xff0c;右击创建的…

2024年音频剪辑必备:五大最佳音频编辑软件精选!

在数字时代&#xff0c;音频剪辑已成为创意表达的重要工具。无论是音乐制作、播客编辑还是视频后期&#xff0c;一款优秀的音频剪辑软件都是不可或缺的。推荐五款备受推崇的音频剪辑工具。 福昕音频剪辑 链接&#xff1a;https://www.foxitsoftware.cn/audio-clip/ 福昕音频…

arasan CAN2.0 CAN FD user guide详解

1. 引言 1.1 概览 Arasan 的 Controller Area Network - Flexible Data (CAN-FD) 控制器 IP 实现了 CAN 2.0A、CAN 2.0B 以及高性能 CAN-FD (Flexible Data Rate) 协议。它符合非 ISO CAN-FD 由 Bosch 提出的标准以及 ISO11898-1:2015 DIS 标准。它可以集成到需要 CAN 连接性…

IDEA切换分支,会影响当前在跑的项目吗?

说明&#xff1a;本文测试&#xff0c;在IDEA中运行项目&#xff0c;然后切换分支&#xff0c;是否会影响当前正在跑的项目 准备工作 首先&#xff0c;创建一个Git项目&#xff0c;接口如下&#xff1a; import org.springframework.web.bind.annotation.GetMapping; import…

【网络安全】副业兼职日入12k,网安人不接私活就太可惜了!

暑假来了&#xff0c;很多同学后台私信我求做兼职的路子&#xff0c;这里&#xff0c;我整理了一份详细攻略&#xff0c;请大家务必查收&#xff0c;这可能会帮你把几个学期的生活费都赚够&#xff01; Up刚工作就开始做挖漏洞兼职&#xff0c;最高一次赚了12k&#xff0c;后面…

bootcamp和虚拟机哪个更好 bootcamp和虚拟机的性能差距 MacBook装双系统和虚拟机有什么区别

在当今数字化时代&#xff0c;对于部分使用Mac电脑的用户来说&#xff0c;选择如何在Mac系统中运行Windows或其他操作系统能节省大量精力。双系统&#xff08;Boot Camp或其他多引导方案&#xff09;和虚拟机是两种常见的方法。 一、Boot Camp&#xff08;启动转换助手&#xf…

订单状态统计业务

文章目录 概要整体架构流程技术细节小结 概要 订单状态统计是电子商务、供应链管理、客户服务等多个领域中的一项核心业务需求. 需求分析以及接口设计 技术细节 1.Controller层: ApiOperation("各个状态的订单统计")GetMapping("/statistics")public Re…

step:菜单栏静态加载和动态加载

文章目录 文章介绍静态加载动态加载补充材料 文章介绍 对比静态加载和动态加载。 主界面main.qml之前使用的是动态加载&#xff0c;动态加载导致的问题&#xff1a;菜单栏选择界面切换时&#xff0c;之前的界面内容被清空。 修改方法&#xff1a;将动态加载改为静态加载 左边是…

什么?陶瓷也可以用来存储数据了?

现在是一个数据指数增长的时代&#xff0c;根据IDC数据预测&#xff0c;2025年全世界将产生175ZB的数据。 这里面大部分数据是不需要存储的&#xff0c;在2025预计每年需要存储11ZB的数据。换算个容易理解的说法&#xff0c;1ZB是10^18Bytes, 相当于要写5556万块容量18TB的硬盘…

数据结构(邓俊辉)学习笔记】词典 01—— 散列

文章目录 1. 从服务到电话2. 循值访问3. 数组4. 原理5. 散列6. 冲突 1. 从服务到电话 现在进入新的一章词典。将学习实现词典 adt 的重要技术&#xff0c;也就是散列。我们将看到散列实际上并不是一种简单的技术&#xff0c;从某种意义上讲&#xff0c;它甚至是一种思想&#x…

【数据结构算法经典题目刨析(c语言)】随机链表的复制(图文详解)

&#x1f493; 博客主页&#xff1a;C-SDN花园GGbond ⏩ 文章专栏&#xff1a;数据结构经典题目刨析(c语言) 目录 一、题目描述 二、思路分析 三、代码实现 一、题目描述 二、思路分析 要完成一个带随机指针的链表的复制&#xff0c;有一个巧妙的办法:分三步走 1.完成节…

钉耙编程(3)

1001深度自同构 Problem Description 对于无向图中的点&#xff0c;定义一个点的度为与其相连的边的条数。 对于一棵有根树&#xff0c;定义一个点的深度为该点到根的距离。 对于由若干有根树构成的森林&#xff0c;定义该森林是深度自同构的&#xff0c;当且仅当森林中任意…

[Java]基础语法

注释 注释就是程序中对代码进行解释说明的文字 生效范围: 注释不影响程序执行, 因为运行的字节码文件中不保留注释 字面量 数据在程序中的书写格式称为字面量 变量 在内存中开辟一块区域, 用来存储数据, 这块空间称为变量 定义变量 使用变量 变量的优势 便于数据的扩展和…

【LeetCode每日一题】搜索旋转排序数组

分析 二分 以4 5 6 7 0 1 2为例&#xff0c;发现将数组分割成两半后&#xff0c;总存在一边是有序 &#xff0c;有序的那一部分可以使用二分 4|5 6 7 0 1 2 4 5|6 7 0 1 2 4 5 6|7 0 1 2 4 5 6 7|0 1 2 4 5 6 7 0|1 2 4 5 6 7 0 1|2分为三种情况 因为没有重复元素&#xff0…

RAGflow:开源AI框架的创新与应用

在当今科技飞速发展的时代&#xff0c;人工智能&#xff08;AI&#xff09;已经成为各行各业不可或缺的一部分。特别是在文档处理和数据分析领域&#xff0c;AI的应用更是无处不在。今天&#xff0c;我要向大家介绍一个开源的AI框架引擎——RAGflow。它能够在深度文档理解方面执…

情感推理在医疗领域的应用

关键词&#xff1a;情感推理、情感分类、多模态大模型、语音识别、思维链 医疗领域中人工智能&#xff08;AI&#xff09;的决策透明度至关重要&#xff0c;因为错误可能带来严重后果。这种透明度有助于建立AI与用户之间的信任。情感分析是自然语言处理&#xff08;NLP&am…

【通俗理解】马尔科夫毯:信息屏障与状态独立性的守护者

【通俗理解】马尔科夫毯&#xff1a;信息屏障与状态独立性的守护者 马尔科夫毯的通俗比喻 你可以把马尔科夫毯想象成一个“信息屏障”&#xff0c;它隔绝了系统内部与外部的信息交流。在这个屏障之内&#xff0c;系统的状态是独立的&#xff0c;不受外界影响。 马尔科夫毯的核心…

【Kylin使用心得的介绍】

🎥博主:程序员不想YY啊 💫CSDN优质创作者,CSDN实力新星,CSDN博客专家 🤗点赞🎈收藏⭐再看💫养成习惯 ✨希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共同学习、交流进步! 👻Kylin 👻Kylin是一款Linux发行版,由中国国内的开发者团队…

Web开发:小结Apache Echarts官网上常用的配置项(前端可视化图表)

目录 一、须知 二、Title 三、 Legend 四、Grid 一、须知 配置项官方文档&#xff1a;点此进入。 我总结了比较常用的功能&#xff0c;写进注释里面&#xff0c;附带链接分享和效果图展示。&#xff08;更新中....&#xff09; 二、Title option {title: {text: Weekl…

2-52 基于matlab局部信息的模糊C均值聚类算法(FLICM)

基于matlab局部信息的模糊C均值聚类算法&#xff08;FLICM&#xff09;&#xff0c;是在FCM聚类算法的基础上结合了图像的邻域信息&#xff0c;有更好的鲁棒性。程序已调通&#xff0c;可直接运行。 2-52 局部信息的模糊C均值聚类算法 - 小红书 (xiaohongshu.com)