Breeze style problem since Qt 6.8.2
Tobias Leupold
tl at stonemx.de
Mon Mar 24 11:54:02 GMT 2025
E-Mail von Tobias Leupold vom Montag, 24. März 2025, 12:35:
> E-Mail von David Redondo vom Montag, 24. März 2025, 09:22:
> > This matches my investigation previously. Not sure why the Qt person was
so
> > dismissive that it was a Breeze bug from my limited knowledge Breeze looks
> > to be doing correct things. Maybe I didnt word it clear enough?
>
> Just today, I commented again on https://bugreports.qt.io/browse/
QTBUG-133845
>
> I don't get either why the Qt side states this was a Breeze bug. I mean, the
> first commit fixing some Windows issue wouldn't trigger the problem yet
> (because it asks the base style for the size and returns it). But the second
> one leads to the desired final size being modified later on, causing this.
>
> Question is more: Why does this not happen using Fusion?
>
> And: Is Breeze even able to work around this? I mean, if a style sheet is
set
> on the QSpinBox in question, and thus, qstylesheetstyle comes into play,
> Breeze would have to subtract the pixels the style adds later on before
> returning it, so that we get the height we actually want to have ...
>
> Maybe one should have a look into Fusion to figure out what's going on in
> there. At the latest when we show them that Fusion does fishy stuff on
> QSpinBoxes, they can no longer claim this was a Breeze bug.
>
> Maybe some Breeze dev could step in to clarify this?!
Looking at Fusion, it does call QCommonStyle::sizeFromContents() in
sizeFromContents() to intialize a QSpinBox's size before procesing it later
on. Breeze does not do this, cf.
https://invent.kde.org/qt/qt/qtbase/-/blob/6.8.2/src/widgets/styles/
qfusionstyle.cpp?ref_type=heads#L3018
Until the two commits mentioned, qstylesheetstyle did not query Breeze for the
QSpinBox size at all, but got the size from somewhere else -- and it (maybe
coincidentally?!) matched the desired size. Maybe, Breeze actually should also
query QCommonStyle and adjust the size when painting or such? Just a random
shot though ...
More information about the kde-devel
mailing list