QT版本:Qt 5.5.1 (MSVC 2013, 32 bit)
Qt Creator版本:Qt Creator 3.5.1 (opensource)
系统:win10
最近查看了qt自带的例子,研究了一下环形图的制作,代码及自己写的注释如下:
1.在.pro文件中添加如下代码:
QT += charts
2.在主窗口类的头文件中添加如下代码:
#include <QtCharts/QChartView>
#include <QtCharts/QPieSeries>
#include <QtCharts/QPieSlice>
#include <QtCore/QDebug>
QT_CHARTS_USE_NAMESPACE
3.在主窗口类.cpp中添加如下代码:
//![1]
QPieSeries *series = new QPieSeries();//
series->setHoleSize(0.35);//设置圆环内部孔的大小【0-1】
series->append("Part1 30%",30);//增加一个分块,占比30%
QPieSlice *slice = series->append("Part2 30%", 30);//增加一个分块,占比30%,并实例化一个QPieSlice指向该分块
slice->setExploded(true);//让该弧形块与主圆环分开
slice->setLabelVisible(true);//显示该弧形块的标签
series->append("Part3 40%", 40);//增加一个分块,占比40%
//![1]
//![2]
QChartView *chartView = new QChartView();//实例化QChartView控件
chartView->setRenderHint(QPainter::Antialiasing);//设置提示(QPainter::Antialiasing消除混叠现象)
chartView->chart()->setTitle("Donut example");//设置标题
chartView->chart()->addSeries(series);//将QPieSeries对象附加到QChartView控件中
chartView->chart()->legend()->setAlignment(Qt::AlignBottom);//设置图例显示在底部,默认在顶部
chartView->chart()->setTheme(QChart::ChartThemeLight);//设置整个图表的背景主题,默认是ChartThemeLight主题
//chartView->chart()->legend()->setFont(QFont("Arial", 7));//设置字体
//![2]
this->setCentralWidget(chartView);//主界面值显示一个QChartView控件