36 paint(&painter, QRect(QPoint(0,0),size), mode, state);
47 painter->setRenderHint(QPainter::Antialiasing,
true);
49 painter->setBackground(Qt::transparent);
50 painter->eraseRect(rect);
52 float outerRadius = 0.7f * std::min(rect.width(), rect.height()) / 2;
53 float innerRadius = 0.7f * outerRadius;
54 float penWidth = 0.3f * innerRadius;
57 for (
int i = 0; i < numLines; ++i)
59 int alpha = (i + 1) / (
float)numLines * 255.0f;
60 QPen pen(QColor(0, 0, 0, alpha), penWidth);
63 float radiansForSpoke = (i + ticks) / (
float)numLines * 2.0f * M_PI;
64 QPointF innerRectCenter(innerRadius * cos(radiansForSpoke), innerRadius * sin(radiansForSpoke));
65 QPointF outerRectCenter(outerRadius * cos(radiansForSpoke), outerRadius * sin(radiansForSpoke));
66 painter->drawLine(rect.center() + innerRectCenter, rect.center() + outerRectCenter);