Windows11Style: don't draw progressbar label for vertical progressbars

Since the label of a progressbar is drawn right of the bar, it does not
make sense to draw a label for vertical bars. This is consistent with
windows and windowsvista style.

Pick-to: 6.9 6.8
Fixes: QTBUG-132459
Change-Id: I6610a1ef1b4074a6301aac12928c1dfe99ffd457
Reviewed-by: Wladimir Leuschner <wladimir.leuschner@qt.io>
This commit is contained in:
Christian Ehrlicher 2025-03-21 22:20:58 +01:00
parent 9ff4b5341f
commit a37606310e

View File

@ -1373,9 +1373,12 @@ void QWindows11Style::drawControl(ControlElement element, const QStyleOption *op
break;
case QStyle::CE_ProgressBarLabel:
if (const QStyleOptionProgressBar* progbaropt = qstyleoption_cast<const QStyleOptionProgressBar*>(option)) {
QRect rect = subElementRect(SE_ProgressBarLabel, progbaropt, widget);
painter->setPen(progbaropt->palette.text().color());
painter->drawText(rect, progbaropt->text,progbaropt->textAlignment);
const bool vertical = !(progbaropt->state & QStyle::State_Horizontal);
if (!vertical) {
QRect rect = subElementRect(SE_ProgressBarLabel, progbaropt, widget);
painter->setPen(progbaropt->palette.text().color());
painter->drawText(rect, progbaropt->text, progbaropt->textAlignment);
}
}
break;
case CE_PushButtonLabel: