情况1:
想要设置画板颜色跟背景色一样,即做成透明的画板色有两种方法:
方法1:设置与区域背景色一样的颜色
QChart *chart = new QChart(); //画板对象
chart->setBackgroundBrush(Qt::blue);//背景色设置
方法2:直接设置透明
QChart *chart = new QChart();
chart->setBackgroundVisible(false); //背景色透明
情况2:设置了情况1的背景色,如下图
但是你会发现,饼图上有白色边框,及其难看。。。好了,可以猜到设置BorderColor
但是不是设置QCharts对象,也不是设置QPieSeries饼图对象,而是设置饼图分块QPieSlice对象,下面上代码
QChart *chart = ui->chartViewPie->chart();
chart->removeAllSeries();
ui->chartViewPie->setRenderHint(QPainter::NonCosmeticDefaultPen);
QPieSeries *series = new QPieSeries();//创建饼图序列
series->setHoleSize(0.66);//饼图中间空心的大小
series->append(QString("数据块2"), 10);
series->append(QString("数据块1"), 2);
QPieSlice *slice;//饼图分块
QPieSlice *slice2;
slice = series->slices().at(0); //获取饼图分块0
slice->setColor(Qt::blue);
slice->setBorderColor(QColor(14, 34, 107)); //设置边框颜色,去白边
slice2 = series->slices().at(1); //获取饼图分块1
slice2->setColor(Qt::red);
slice2->setBorderColor(QColor(14, 34, 107)); //设置边框颜色,去白边
series->setLabelsVisible(true);//必须添加完slice之后在设置
chart->addSeries(series);//添加饼图序列
然后会得到下图