效果图:

#include "mainwindow.h"
#include "form.h"
#include <QApplication>
#include <QtCharts>
#include <QPieSeries>
#include <QVector> int main(int argc, char *argv[])
{
QApplication a(argc, argv); QVector<int> vector_monitNumber;
vector_monitNumber.append();
vector_monitNumber.append();
vector_monitNumber.append();
vector_monitNumber.append();
vector_monitNumber.append();
vector_monitNumber.append();
vector_monitNumber.append();
vector_monitNumber.append();
vector_monitNumber.append();
vector_monitNumber.append();
vector_monitNumber.append();
vector_monitNumber.append(); int sum = ;
for(int i=;i<vector_monitNumber.size();i++)
{
sum += vector_monitNumber.at(i);
} int float_month1 = vector_monitNumber.at()*/sum;
QPieSlice *slice1 = new QPieSlice(QString(""), float_month1);
//slice1->setLabelVisible(true);
slice1->setLabel(QString("1月份%1").arg(vector_monitNumber.at()));
//slice1->setLabelColor(Qt::yellow);
slice1->setLabelVisible();
//slice1->setLabelColor(Qt::white);
slice1->setLabelPosition(QPieSlice::LabelOutside); //slice1->setLabelPosition(QPieSlice::LabelInsideTangential);
slice1->setBrush(QColor(,,)); QPieSlice *slice2 = new QPieSlice(QString(""), );
slice2->setLabelVisible(true);
slice2->setLabel(QString("2月份%1").arg(vector_monitNumber.at()));
//slice2->setLabelColor(Qt::red);
//slice2->setLabelPosition(QPieSlice::LabelInsideTangential);
slice2->setBrush(QColor(,,)); QPieSlice *slice3 = new QPieSlice(QString(""), );
slice3->setLabelVisible(true);
// slice3->setLabelColor(Qt::blue);
slice3->setLabel(QString("3月份%1").arg(vector_monitNumber.at()));
slice3->setLabelPosition(QPieSlice::LabelOutside);
slice3->setBrush(QColor(,,)); QPieSlice *slice4 = new QPieSlice(QString(""), );
slice4->setLabelVisible(true);
// slice3->setLabelColor(Qt::blue);
slice4->setLabel(QString("4月份%1").arg(vector_monitNumber.at()));
slice4->setLabelPosition(QPieSlice::LabelOutside);
slice4->setBrush(QColor(,,)); QPieSlice *slice5 = new QPieSlice(QString(""), );
slice5->setLabelVisible(true);
// slice3->setLabelColor(Qt::blue);
slice5->setLabel(QString("5月份%1").arg(vector_monitNumber.at()));
slice5->setLabelPosition(QPieSlice::LabelOutside);
slice5->setBrush(QColor(,,)); QPieSlice *slice6 = new QPieSlice(QString(""), );
slice6->setLabelVisible(true);
// slice3->setLabelColor(Qt::blue);
slice6->setLabel(QString("6月份%1").arg(vector_monitNumber.at()));
slice6->setLabelPosition(QPieSlice::LabelOutside);
slice6->setBrush(QColor(,,)); QPieSlice *slice7 = new QPieSlice(QString(""), );
slice7->setLabelVisible(true);
slice7->setLabel(QString("7月份%1").arg(vector_monitNumber.at()));
slice7->setLabelPosition(QPieSlice::LabelOutside);
slice7->setBrush(QColor(,,)); QPieSlice *slice8 = new QPieSlice(QString(""), );
slice8->setLabelVisible(true);
slice8->setLabel(QString("8月份%1").arg(vector_monitNumber.at()));
slice8->setLabelPosition(QPieSlice::LabelOutside);
slice8->setBrush(QColor(,,)); QPieSlice *slice9 = new QPieSlice(QString(""), );
slice9->setLabelVisible(true);
slice9->setLabel(QString("9月份%1").arg(vector_monitNumber.at()));
slice9->setLabelPosition(QPieSlice::LabelOutside);
slice9->setBrush(QColor(,,)); QPieSlice *slice10 = new QPieSlice(QString(""), );
slice10->setLabelVisible(true);
slice10->setLabel(QString("10月份%1").arg(vector_monitNumber.at()));
slice10->setLabelPosition(QPieSlice::LabelOutside);
slice10->setBrush(QColor(,,)); QPieSlice *slice11 = new QPieSlice(QString(""), );
slice11->setLabelVisible(true);
slice11->setLabel(QString("11月份%1").arg(vector_monitNumber.at()));
slice11->setLabelPosition(QPieSlice::LabelOutside);
slice11->setBrush(QColor(,,)); QPieSlice *slice12 = new QPieSlice(QString(""), );
slice12->setLabelVisible(true);
slice12->setLabel(QString("12月份%1").arg(vector_monitNumber.at()));
slice12->setLabelPosition(QPieSlice::LabelOutside);
slice12->setBrush(QColor(,,)); QPieSeries *series = new QPieSeries(); //饼图中间空心的大小
series->setHoleSize(0.35);
// series->append("Protein 4.2%", 4.2);
// series->append("Carbs 56.4%", 56.4);
// series->append("Other 23.8%", 23.8); series->append(slice1);
series->append(slice2);
series->append(slice3);
series->append(slice4);
series->append(slice5);
series->append(slice6);
series->append(slice7);
series->append(slice8);
series->append(slice9);
series->append(slice10);
series->append(slice11);
series->append(slice12); QChartView *chartView = new QChartView();
chartView->setRenderHint(QPainter::Antialiasing);
//chartView->chart()->setTitle("DonutChart Example");
chartView->chart()->addSeries(series);
chartView->chart()->legend()->setAlignment(Qt::AlignRight);
//chartView->chart()->setTheme(QChart::ChartThemeBlueCerulean);
//chartView->chart()->legend()->setFont(QFont("Arial",7));
//chartView->chart()->legend()->setVisible(false); MainWindow w;
w.resize(, );
w.setCentralWidget(chartView);
w.show(); return a.exec();
}

QChartView绘制饼状图的更多相关文章

  1. 用PNChart绘制饼状图简介

    写在前面 最近做的小Demo中有一个绘制饼状图的需求.在开始实现之前上网了解了一下现有的一些绘制图形的第三方库,相应的库还是有挺多的,PNChart便是其中一个.PNChart是一个90后的中国boy ...

  2. 第166天:canvas绘制饼状图动画

    canvas绘制饼状图动画 1.HTML <!DOCTYPE html> <html lang="en"> <head> <meta ch ...

  3. Canvas(3)---绘制饼状图

    Canvas(3)---绘制饼状图 有关canvas之前有写过两篇文章 1.Canvas(1)---概述+简单示例 2.Canvas(2)---绘制折线图 在绘制饼状图之前,我们先要理解什么是圆弧,如 ...

  4. canvas动态绘制饼状图,

    当我们使用Echrts很Highcharts的时候,总是觉得各种统计图表是多么神奇,今天我就用现代浏览器支持的canvas来绘制饼状统计图,当然仅仅是画出图并没什么难度,但是统计图一般都有输入,根据不 ...

  5. [canvas]用canvas绘制饼状图

    折线图之后又来饼状图啦~\(≧▽≦)/~啦啦啦 <!DOCTYPE html> <html lang="en"> <head> <meta ...

  6. IOS之以UIBezierPath绘制饼状图

    1.绘制的饼状图是通过多个扇形拼和而成,绘制一个扇形也是比较简单的,核心代码如下: 先画一条圆弧,再画半径,接着再画一条圆弧,最后闭合路径: UIBezierPath*  aPath = [[UIBe ...

  7. [Echarts]用Echarts绘制饼状图

    在项目网站的网页中,有这样一幅图: 心血来潮,想使用百度Echarts来绘制一下,可是没能绘制得完全一样,Echarts饼状图的label不能在图形下面放成一行,最后的效果是这样子的: 鼠标移动到it ...

  8. d3绘制饼状图

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. matplotlib绘制饼状图

    源自http://blog.csdn.net/skyli114/article/details/77508430?ticket=ST-41707-PzNbUDGt6R5KYl3TkWDg-passpo ...

随机推荐

  1. Mybatis经常被问到的面试题

    1. #{}和${}的区别是什么? #{}是预编译处理,${}是字符串替换. Mybatis在处理#{}时,会将sql中的#{}替换为?号,调用PreparedStatement的set方法来赋值: ...

  2. python基础语法及知识点总结

    本文转载于星过无痕的博客http://www.cnblogs.com/linxiangpeng/p/6403991.html 在此表达对原创作者的感激之情,多谢星过无痕的分享!谢谢! Python学习 ...

  3. 使用PageHelper插件分页结合mybatis返回的列表个数不对问题解决

    问题描述:spring mvc+mybatis项目中,当使用PageHelper插件进行分页查询时,查到的总数据量值是正确的,但是查询当前页返回的列表个数不对.比如每页查询10条,返回2条或者3条.r ...

  4. Hdu2040 亲和数

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2040 亲和数 Time Limit: 2000/1000 MS (Java/Others)    Me ...

  5. Android开发中使用Intent跳转到系统应用中的拨号界面、联系人界面、短信界面

    现在开发中的功能需要直接跳转到拨号.联系人.短信界面等等,查找了很多资料,自己整理了一下. 首先,我们先看拨号界面,代码如下: Intent intent =new Intent(); intent. ...

  6. [转载]ORACLE日期时间函数大全

    ORACLE日期时间函数大全 TO_DATE格式(以时间:2007-11-02   13:45:25为例)           Year:              yy two digits 两位年 ...

  7. 在CI (Jenkins) 从机(服务器)上使用bat批处理执行自动构建任务时,输出NuGet还原失败的解决方案

    编译环境:Jenkins+MSBuilds 1.搜索本次构建的解决方案中的所有csproj后缀文件,打开后找到这一段代码,并且删除掉.如果没有,直接忽略跳过. <Import Project=& ...

  8. Excel提取设定的多个关键字段

    从一段文字中,提取事先设定的关键字段: 在M2单元格输入下列公式: =IFERROR(IF(FIND(O$2,Q2),O$2&" "),"")& ...

  9. 2018-2019-2 20189206 Python3学习

    python3简明教程学习 基本概念 脚本文件: 脚本文件英文为Script.实际上脚本就是程序,一般都是由应用程序提供的编程语言.应用程序包括浏览器(javaScript.VBScript).多媒体 ...

  10. Java IO流及应用(一)

    IO流 IO流概述及FileWriter类的使用 FileReader类使用 缓冲流介绍和使用 IO流相关案例 NO.one IO流概述及FileWriter类使用 1.1 IO流概述及分类 IO流用 ...