Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. QIcon not actually generating variations for QToolButton?
Forum Updated to NodeBB v4.3 + New Features

QIcon not actually generating variations for QToolButton?

Scheduled Pinned Locked Moved Solved General and Desktop
23 Posts 5 Posters 3.0k Views 4 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • D davecotter

    does nobody else create QIcons programmatically, to be used in QToolButton?

    ODБOïO Offline
    ODБOïO Offline
    ODБOï
    wrote on last edited by ODБOï
    #13

    @davecotter

    QImage img(":/Icon.png");
    
    auto toolButton = new QToolButton(toolBar);
    toolButton->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
    auto act = new QAction();
    act->setIcon(QPixmap::fromImage(img));
    act->setText("text");
    toolButton->setDefaultAction(act);
    
    1 Reply Last reply
    1
    • D Offline
      D Offline
      davecotter
      wrote on last edited by
      #14

      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?

      kshegunovK 1 Reply Last reply
      0
      • D davecotter

        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?

        kshegunovK Offline
        kshegunovK Offline
        kshegunov
        Moderators
        wrote on last edited by
        #15

        I believe you're looking for this.

        Read and abide by the Qt Code of Conduct

        1 Reply Last reply
        0
        • D Offline
          D Offline
          davecotter
          wrote on last edited by
          #16

          @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?

          kshegunovK 1 Reply Last reply
          0
          • D davecotter

            @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?

            kshegunovK Offline
            kshegunovK Offline
            kshegunov
            Moderators
            wrote on last edited by kshegunov
            #17

            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).

            Read and abide by the Qt Code of Conduct

            1 Reply Last reply
            0
            • D Offline
              D Offline
              davecotter
              wrote on last edited by
              #18

              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:

              Screen Shot 2019-09-24 at 10.40.24 AM.png

              kshegunovK 1 Reply Last reply
              0
              • D davecotter

                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:

                Screen Shot 2019-09-24 at 10.40.24 AM.png

                kshegunovK Offline
                kshegunovK Offline
                kshegunov
                Moderators
                wrote on last edited by
                #19

                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.

                Read and abide by the Qt Code of Conduct

                1 Reply Last reply
                1
                • D Offline
                  D Offline
                  davecotter
                  wrote on last edited by
                  #20

                  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?

                  1 Reply Last reply
                  0
                  • D Offline
                    D Offline
                    davecotter
                    wrote on last edited by
                    #21

                    here is a minimal (20k) project demonstrating the problem.

                    kshegunovK 1 Reply Last reply
                    0
                    • D davecotter

                      here is a minimal (20k) project demonstrating the problem.

                      kshegunovK Offline
                      kshegunovK Offline
                      kshegunov
                      Moderators
                      wrote on last edited by kshegunov
                      #22

                      @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.

                      Read and abide by the Qt Code of Conduct

                      1 Reply Last reply
                      0
                      • D Offline
                        D Offline
                        davecotter
                        wrote on last edited by
                        #23

                        filed this bug

                        please vote for it / watch it, if you care. thanks.

                        1 Reply Last reply
                        2

                        • Login

                        • Login or register to search.
                        • First post
                          Last post
                        0
                        • Categories
                        • Recent
                        • Tags
                        • Popular
                        • Users
                        • Groups
                        • Search
                        • Get Qt Extensions
                        • Unsolved