Qt 绘制饼状图可以使用 QPainter 和 QPieSeries 类。以下是基本步骤:
- 创建一个 QChart 对象和一个 QChartView 对象。
- 创建一个 QPieSeries 对象并添加数据到其中。
- 将 QPieSeries 对象添加到 QChart 对象中。
- 使用 QPainter 在 QChartView 上绘制 QChart 对象。
示例代码:
#include <QtWidgets/QApplication>
#include <QtWidgets/QMainWindow>
#include <QtCharts/QChartView>
#include <QtCharts/QPieSeries>
#include <QtCharts/QPieSlice>
QT_CHARTS_USE_NAMESPACE
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
// 创建一个 QChart 对象和一个 QChartView 对象
QChart *chart = new QChart();
QChartView *chartView = new QChartView(chart);
chartView->setRenderHint(QPainter::Antialiasing);
// 创建一个 QPieSeries 对象并添加数据到其中
QPieSeries *series = new QPieSeries();
series->append("Apple", 10);
series->append("Banana", 20);
series->append("Orange", 30);
series->append("Grapes", 40);
// 将 QPieSeries 对象添加到 QChart 对象中
chart->addSeries(series);
// 设置饼状图的样式
series->setPieSize(0.5);
series->setHoleSize(0.25);
series->setLabelsVisible(true);
// 使用 QPainter 在 QChartView 上绘制 QChart 对象
QMainWindow mainWindow;
mainWindow.setCentralWidget(chartView);
mainWindow.resize(400, 300);
mainWindow.show();
return a.exec();
}
运行上述代码,将会得到一个简单的饼状图。可以根据需要修改样式和数据。