QIcon not actually generating variations for QToolButton?
-
that code snip only adds in a single state (the up state). i have separate pngs for the down and disabled state that never get used. how do i cause my tool button to use those states?
-
that code snip only adds in a single state (the up state). i have separate pngs for the down and disabled state that never get used. how do i cause my tool button to use those states?
-
@kshegunov that's literally the code i'm already using but it's not working. see the code snips at the start of this thread, am I doing it wrong?
-
@kshegunov that's literally the code i'm already using but it's not working. see the code snips at the start of this thread, am I doing it wrong?
Yeah, sorry. I think it worked for a push button. could you try that? I don't recall currently if it's supposed to work with the toolbar button, I remember recently doing something akin but it was a table delegate so I was drawing it manually.
EDIT:
I think my brain had gone on a vacation ...
What style are you using? Is it possible the style doesn't support that? I usually use Fusion (i.e. Qt drawing). -
not sure what you mean by "style", i'm just using Qt out of the box, i haven't specifically selected a "style".
unfortunately the "QPushButton" does not draw the icon as "pressed" either, it just darkens the background which is not what i want:
-
not sure what you mean by "style", i'm just using Qt out of the box, i haven't specifically selected a "style".
unfortunately the "QPushButton" does not draw the icon as "pressed" either, it just darkens the background which is not what i want:
not sure what you mean by "style", i'm just using Qt out of the box, i haven't specifically selected a "style".
Judging by your screenshot you're using the native osx style.
From what I can see here: https://code.woboq.org/qt5/qtbase/src/widgets/styles/qcommonstyle.cpp.html#1700
The tool button only takes 3 icon states - active, disabled and normal. Selected isn't one of them. But that's for Fusion, I have no clue what goes in the native osx style. So first advice - switch to fusion and use Normal/Active to alternate between unpressed/pressed. If that's what you're expecting go back to the native style and see if the problem is there. If so I'd say it's either a bug or limitation of the native style's implementation. -
Fusion
is un-mac-like, so i would not want to use it. strangely, "active" seems to mean "focused". when i click in the button it does turn color as expected but if i track the mouse (keep holding) while dragging OFF the button, it should re-draw in it's UP state, but it doesn't. when i let go it should do the same, but it STAYS looking pressed. if i then click the volume slider, the button THEN draws in the UP state. am i just not getting how this is designed to work? -
here is a minimal (20k) project demonstrating the problem.
-
here is a minimal (20k) project demonstrating the problem.
@davecotter said in QIcon not actually generating variations for QToolButton?:
Fusion is un-mac-like, so i would not want to use it.
I meant it purely as an academic exercise, so to say.
@davecotter said in QIcon not actually generating variations for QToolButton?:
strangely, "active" seems to mean "focused". when i click in the button it does turn color as expected but if i track the mouse (keep holding) while dragging OFF the button, it should re-draw in it's UP state, but it doesn't. when i let go it should do the same, but it STAYS looking pressed. if i then click the volume slider, the button THEN draws in the UP state.
Well, that's odd. Unfortunately I have no answers for you here, sorry.
-
please vote for it / watch it, if you care. thanks.