QWidget顯示餅圖

2024年2月6日 22点热度 0人点赞

一、環境準備

1、安裝Qt的時候需要勾上chart

2、.pro

QT   = charts

3、添加頭文件

#include <QtChar

二、在ui裡拖一個widget過去

三、代碼

1、mainwindow.h聲明一個餅圖

QPieSeries *series;//餅圖相關

2、mainwindow.cpp實現

【粉絲福利】Qt開發學習資料包、大廠面試題、項目視頻、學習路線,包括(Qt C 基礎,數據庫編程,Qt項目實戰、Qt框架、QML、Opencv、qt線程等等)有需要的可以進企鵝裙937552610領取哦~

   ui->widget->setStyleSheet("QWidget{background-color:#222648;}");
    series = new QPieSeries();
    series->append("20%", 2);
    series->append("80%", 8);
    series->setLabelsVisible();
    QPieSlice *slice_red = series->slices().at(0);
    QPieSlice *slice_green = series->slices().at(1);
    slice_red->setColor(QColor(199,38,22));
    slice_green->setColor(QColor(0,165,94));
    slice_red->setLabelColor(QColor(255,255,255));
    slice_green->setLabelColor(QColor(255,255,255));
    //slice_red->setExploded();//展開
    QFont font;
    font.setPointSize(12);
    slice_red->setLabelFont(font);
    slice_green->setLabelFont(font);
    QChart *chart = new QChart();
    chart->addSeries(series);
    chart->legend()->hide();
    chart->setBackgroundBrush(QBrush(QColor(34,38,72)));
    chart->setAnimationOptions(QChart::AllAnimations);//設置啟用或禁用動畫
    QChartView *chartview = new QChartView(chart);
    chartview->setRenderHint(QPainter::Antialiasing);
    chartview->setParent(ui->widget);
    chartview->resize(ui->widget->size());