Qt中创建饼状图

Qt中创建饼状图

1.必要设置
.pro文件

QT += charts

头文件

#include 

QT_CHARTS_USE_NAMESPACE

namespace Ui {
class MainWindow;
}

2.初始化设置

void MainWindow::initPiewData()
{
    QChart *chart = new QChart();//创建图表
    chart->setTitle("PiewChart演示");//图表标题
    ui->chartView->setChart(chart);//图表添加到场景
    ui->chartView->setRenderHint(QPainter::Antialiasing);
}

3.创建

    QChart *chart = ui->chartView->chart();//获取chart对象
    chart->removeAllSeries();//删除序列
    QPieSeries *series = new QPieSeries();//创建序列
    series->setHoleSize(ui->spinHoleSize->value());//中间空心大小
    PieSlice *slice;
    for(int i=0;i<5;i++)
    {
        series->append(Rank[i],Number[2][i]);
            slice = series->slices().at(i);
            slice->setLabel(slice->label()+QString::asprintf(":%.0f人",slice->value()));//设置标签信息
            //slice->setExploded();//该块外露可见
            slice->setLabelVisible();//该块标签可见
        Number[2][i] = 0;
        Precent[2][i] = 0;
    }
    chart->addSeries(series);//序列添加到图表
    chart->legend()->setAlignment(Qt::AlignLeft);//图例左侧
    chart->setTheme(QChart::ChartThemeQt);//主题
    chart->legend()->setFont(QFont("Arial",7));//设置图例字体及大小

特别注意饼状图设置序列需要用QPieSlice类
Qt中创建饼状图_第1张图片

你可能感兴趣的:(Qt)