Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void PieChartWidget::paintEvent(QPaintEvent *)
- {
- QPainter painter(this);
- QPen pen;
- QRectF size;
- pen.setColor(Qt::black);
- pen.setWidth(2);
- painter.setPen(pen);
- if (this->height() > this->width())
- {
- size = QRectF(5,5,this->width()-10,this->width()-10);
- }
- else
- {
- size = QRectF(5,5,this->height()-5,this->height()-10);
- }
- double sum = 0.0,startAng =0.0;
- double angle,endAng;
- double percent;
- for(int i=0;i<qvValues.size();i++)
- {
- sum += qvValues[i];
- }
- for(int i=0;i<qvValues.size();i++)
- {
- percent = qvValues[i] / sum;
- angle = percent * 360.0;
- endAng = startAng + angle;
- painter.setBrush(qvColors[i]);
- painter.drawPie(size,static_cast<int>(startAng*16), static_cast<int>(angle*16));
- startAng = endAng;
- if(percent != 0)
- {
- painter.drawText(this->width()/4,this->height(), QString::number(percent*100)+"%");
- }
- }
- }
Add Comment
Please, Sign In to add comment