QtCharts笔记(二)之饼图QPieSeries

104 篇文章 127 订阅

一.QPieSeries介绍
文档原文:
The QPieSeries class presents data in pie charts.
翻译过来就是:QPieSeries类是以饼状图的形式来显示数据的

A pie series consists of slices that are defined as QPieSlice objects. The slices can have any values as the QPieSeries object calculates the percentage of a slice compared with the sum of all slices in the series to determine the actual size of the slice in the chart.
翻译过来的意思就是:饼图系列由定义为qpiesslice对象的片组成。切片可以是任何值,因为QPieSeries对象会计算一个切片占该系列中所有切片的百分比,以确定图表中切片的实际大小

二使用举例
1.设置显示容器,拖动一个widget,并将其提升为QChartView
在这里插入图片描述
2.核心代码
注意的点:必须使用命名空间:QT_CHARTS_USE_NAMESPACE

void Widget::createPieSeries()
{
    // 设置标题
    ui->widge_pieSerie->chart()->setTitle("饼图");

    // 设置抗锯齿
    ui->widge_pieSerie->setRenderHint(QPainter::Antialiasing);

    //  设置饼图主题
    ui->widge_pieSerie->chart()->setTheme(QChart::ChartThemeQt);

    //
    QPieSeries *pieSeries= new QPieSeries();

    // 添加数据
    pieSeries->append("01",23.6);
    pieSeries->append("02",41.25);
    pieSeries->append("03",10.25);

    // 设置块标签
    for(int sNum=0;sNum<pieSeries->slices().count();sNum++)
    {
        QPieSlice *slice =pieSeries->slices().at(sNum);
        QString tagText = QString("%1%2%3")
                .arg(slice->label())
                .arg(QStringLiteral("占比"))
                .arg(QString::number(slice->percentage()*100));
        slice->setLabel(tagText);
    }

    // 设置标签显示位置
    pieSeries->setLabelsPosition(QPieSlice::LabelPosition::LabelOutside);


    // 显示标签
    pieSeries->setLabelsVisible(true);

    // 设置最后一个分块突出
    pieSeries->slices().at(pieSeries->slices().count()-1)->setExploded(true);

    // 设置中心空心圆大小
    pieSeries->setHoleSize(0.5);

    // 显示饼图
    ui->widge_pieSerie->chart()->addSeries(pieSeries);
}

效果:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值