From b64031a6d14666a5b38d04b219ffa2f282e77911 Mon Sep 17 00:00:00 2001 From: Wladimir Leuschner Date: Wed, 3 Jul 2024 14:00:36 +0200 Subject: [PATCH] QWindows11Style: Remove frame from ToolButton in QToolBar Remove the frame of ToolButtons in QToolBar area when not hovered or selected Pick-to: 6.7 Change-Id: I11bd7b513871d6d1e0d9bfba761acf061f50e524 Reviewed-by: Oliver Wolff (cherry picked from commit 85c4084331a1049d3e2377f5516cd0d93819ac04) Reviewed-by: Qt Cherry-pick Bot --- src/plugins/styles/modernwindows/qwindows11style.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/plugins/styles/modernwindows/qwindows11style.cpp b/src/plugins/styles/modernwindows/qwindows11style.cpp index c9736925e93..8bd6eb6a5db 100644 --- a/src/plugins/styles/modernwindows/qwindows11style.cpp +++ b/src/plugins/styles/modernwindows/qwindows11style.cpp @@ -890,7 +890,12 @@ void QWindows11Style::drawPrimitive(PrimitiveElement element, const QStyleOption QRectF rect = option->rect.marginsRemoved(QMargins(2,2,2,2)); rect.adjust(-0.5,-0.5,0.5,0.5); painter->setBrush(Qt::NoBrush); - painter->setPen(QPen(WINUI3Colors[colorSchemeIndex][controlStrokePrimary])); + if (element == PE_PanelButtonTool + && ((!(state & QStyle::State_MouseOver) && !(state & QStyle::State_Raised)) + || !(state & QStyle::State_Enabled))) + painter->setPen(Qt::NoPen); + else + painter->setPen(QPen(WINUI3Colors[colorSchemeIndex][controlStrokePrimary])); painter->drawRoundedRect(rect, secondLevelRoundingRadius, secondLevelRoundingRadius); rect = option->rect.marginsRemoved(QMargins(2,2,2,2));