summaryrefslogtreecommitdiffstats
path: root/examples/widgets/painting/shared/arthurstyle.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'examples/widgets/painting/shared/arthurstyle.cpp')
-rw-r--r--examples/widgets/painting/shared/arthurstyle.cpp38
1 files changed, 38 insertions, 0 deletions
diff --git a/examples/widgets/painting/shared/arthurstyle.cpp b/examples/widgets/painting/shared/arthurstyle.cpp
index 7d56e55b9d..78b48ccfe4 100644
--- a/examples/widgets/painting/shared/arthurstyle.cpp
+++ b/examples/widgets/painting/shared/arthurstyle.cpp
@@ -311,6 +311,44 @@ void ArthurStyle::drawComplexControl(ComplexControl control, const QStyleOptionC
return;
}
+void ArthurStyle::drawControl(QStyle::ControlElement element, const QStyleOption *option,
+ QPainter *painter, const QWidget *widget) const
+{
+ switch (element) {
+ case CE_RadioButtonLabel:
+ if (const QStyleOptionButton *button
+ = qstyleoption_cast<const QStyleOptionButton *>(option)) {
+
+ if (button->text.isEmpty()) {
+ QCommonStyle::drawControl(element, option, painter, widget);
+ } else {
+ painter->save();
+ painter->setPen(Qt::black);
+ painter->drawText(button->rect, Qt::AlignVCenter, button->text);
+ painter->restore();
+ }
+ }
+ break;
+ case CE_PushButtonLabel:
+ if (const QStyleOptionButton *button
+ = qstyleoption_cast<const QStyleOptionButton *>(option)) {
+
+ if (button->text.isEmpty()) {
+ QCommonStyle::drawControl(element, option, painter, widget);
+ } else {
+ painter->save();
+ painter->setPen(Qt::black);
+ painter->drawText(button->rect, Qt::AlignVCenter | Qt::AlignHCenter, button->text);
+ painter->restore();
+ }
+ }
+ break;
+ default:
+ QCommonStyle::drawControl(element, option, painter, widget);
+ break;
+ }
+}
+
QRect ArthurStyle::subControlRect(ComplexControl control, const QStyleOptionComplex *option,
SubControl subControl, const QWidget *widget) const
{