diff --git a/src/widgets/styles/qfusionstyle.cpp b/src/widgets/styles/qfusionstyle.cpp index ade558b48ce..e9cc250c517 100644 --- a/src/widgets/styles/qfusionstyle.cpp +++ b/src/widgets/styles/qfusionstyle.cpp @@ -591,7 +591,8 @@ void QFusionStyle::drawPrimitive(PrimitiveElement elem, if (option->state & State_HasFocus && option->state & State_KeyboardFocusChange) painter->setPen(highlightedOutline); else - painter->setPen(outline.lighter(110)); + painter->setPen(colorScheme() == Qt::ColorScheme::Dark ? outline.lighter(150) + : outline.lighter(110)); painter->drawRect(rect); QColor checkMarkColor = option->palette.text().color().darker(120); @@ -3558,6 +3559,11 @@ bool QFusionStyle::isHighContrast() const == Qt::ContrastPreference::HighContrast; } +Qt::ColorScheme QFusionStyle::colorScheme() const +{ + return QGuiApplicationPrivate::platformTheme()->colorScheme(); +} + QT_END_NAMESPACE #include "moc_qfusionstyle_p.cpp" diff --git a/src/widgets/styles/qfusionstyle_p.h b/src/widgets/styles/qfusionstyle_p.h index 6c2c8eeef2b..448b541ebdd 100644 --- a/src/widgets/styles/qfusionstyle_p.h +++ b/src/widgets/styles/qfusionstyle_p.h @@ -75,6 +75,7 @@ protected: private: bool isHighContrast() const; + Qt::ColorScheme colorScheme() const; }; #endif // style_fusion diff --git a/src/widgets/styles/qfusionstyle_p_p.h b/src/widgets/styles/qfusionstyle_p_p.h index 10d8969bb33..67abdd74dc8 100644 --- a/src/widgets/styles/qfusionstyle_p_p.h +++ b/src/widgets/styles/qfusionstyle_p_p.h @@ -70,7 +70,10 @@ public: } if (pal.window().style() == Qt::TexturePattern) return QColor(0, 0, 0, 160); - return pal.window().color().darker(140); + if (colorScheme() == Qt::ColorScheme::Dark) + return pal.window().color().lighter(140); + else + return pal.window().color().darker(140); } QColor highlightedOutline(const QPalette &pal) const { @@ -102,6 +105,11 @@ public: }; private: + Qt::ColorScheme colorScheme() const + { + return QGuiApplicationPrivate::platformTheme()->colorScheme(); + } + bool isHighContrast() const { return QGuiApplicationPrivate::platformTheme()->contrastPreference()