在以前文章中介绍了QtCharts的简单使用:https://blog.csdn.net/qq_42449351/article/details/99954436,今天我们就来用Charts绘制半圆环比例图
同样要先在.pro文件中添加charts库, QT += charts; 在界面中添加Graphics View组件, 作为Chart的载体, 将该组件提升为QtCharts::QChartView。如有不明白,可以跳转至上面的Qtcharts的简单使用
在mainwindow.cpp中添加以下代码
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QDebug>
#include <QPieSlice>
#include <QtCharts>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
int online = 60 ;
int offline = 40;
//显示已用设备数
ui->label->setText(QString::number(online));
QPieSeries *series = new QPieSeries();
series->setHoleSize(0.9);//饼图中间空心的大小
series->setPieSize(1);//饼图的大小
//开始和结束 3点为起始 6点为结束
series->setPieStartAngle(-90);
series->setPieEndAngle(90);
QPieSlice *slice0 = new QPieSlice();
slice0->setValue(online);
slice0->setColor(QColor(0,190,132));
QPieSlice *slice1 = new QPieSlice();
slice1->setValue(offline);
slice1->setColor(QColor(193, 193, 193));
series->append(slice0);
series->append(slice1);
QChart *chart = new QChart();
chart->legend()->hide();
//设置图形的最小宽高
chart->setMinimumWidth(400);
chart->setMinimumHeight(400);
chart->addSeries(series);
chart->createDefaultAxes();
chart->setAnimationOptions(QChart::AllAnimations); // 设置显示时的动画效果
ui->graphicsView->setChart(chart);
}
MainWindow::~MainWindow()
{
delete ui;
}
运行效果