Guest User

Untitled

a guest
Jul 17th, 2018
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.98 KB | None | 0 0
  1. void PieChartWidget::paintEvent(QPaintEvent *)
  2. {
  3. QPainter painter(this);
  4. QPen pen;
  5. QRectF size;
  6. pen.setColor(Qt::black);
  7. pen.setWidth(2);
  8. painter.setPen(pen);
  9.  
  10. if (this->height() > this->width())
  11. {
  12. size = QRectF(5,5,this->width()-10,this->width()-10);
  13. }
  14. else
  15. {
  16. size = QRectF(5,5,this->height()-5,this->height()-10);
  17. }
  18.  
  19. double sum = 0.0,startAng =0.0;
  20. double angle,endAng;
  21. double percent;
  22.  
  23. for(int i=0;i<qvValues.size();i++)
  24. {
  25. sum += qvValues[i];
  26.  
  27. }
  28. for(int i=0;i<qvValues.size();i++)
  29. {
  30. percent = qvValues[i] / sum;
  31. angle = percent * 360.0;
  32. endAng = startAng + angle;
  33. painter.setBrush(qvColors[i]);
  34. painter.drawPie(size,static_cast<int>(startAng*16), static_cast<int>(angle*16));
  35. startAng = endAng;
  36. if(percent != 0)
  37. {
  38. painter.drawText(this->width()/4,this->height(), QString::number(percent*100)+"%");
  39. }
  40.  
  41. }
  42. }
Add Comment
Please, Sign In to add comment