19 QPainter *painter,
const QWidget *widget)
const
21 if (element != PE_IndicatorCheckBox) {
22 QProxyStyle::drawPrimitive(element, option, painter, widget);
26 const bool enabled = option->state & State_Enabled;
27 const QPalette::ColorGroup group = !enabled ? QPalette::Disabled
28 : option->state & State_Active ? QPalette::Active
30 const QPalette &palette = option->palette;
31 const QRect rect = option->rect.adjusted(1, 1, -1, -1);
34 painter->setRenderHint(QPainter::Antialiasing);
38 QColor frameColor = palette.color(group, QPalette::Mid);
39 if (enabled && (option->state & State_MouseOver))
40 frameColor = palette.color(group, QPalette::Highlight);
41 const QPalette::ColorRole fillRole =
42 option->state & State_Sunken ? QPalette::Mid : QPalette::Base;
43 painter->setPen(frameColor);
44 painter->setBrush(palette.brush(group, fillRole));
45 painter->drawRoundedRect(rect, 2, 2);
49 const QRect inner = rect.adjusted(3, 3, -3, -3);
50 if (option->state & State_On) {
51 painter->setPen(QPen(palette.color(group, QPalette::Text), 2));
52 painter->drawLine(inner.left(), inner.center().y(),
53 inner.center().x(), inner.bottom());
54 painter->drawLine(inner.center().x(), inner.bottom(),
55 inner.right(), inner.top());
56 }
else if (option->state & State_NoChange) {
57 painter->fillRect(inner, palette.brush(group, QPalette::Text));