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. QAction with sub-menu displays a weird arrow image
Qt 6.11 is out! See what's new in the release blog

QAction with sub-menu displays a weird arrow image

Scheduled Pinned Locked Moved Unsolved General and Desktop
20 Posts 3 Posters 6.5k Views 1 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.
  • mrjjM mrjj

    @Raphy
    It does seem strange.
    You do this in Designer or via code?
    If code, we we see it ?

    R Offline
    R Offline
    Raphy
    wrote on last edited by
    #7

    @mrjj
    I do this via code, I use 4.6.0 QtDesigner and I am not aware of any way to do it there.
    If it is possible to do in the designer, I'll be happy to know.
    Any way, the code is (more or less):

    ...
    QAction *myAction = aQMenuDefinedInDesigner->menuAction();
    myAction ->setObjectName(QString::fromUtf8("actionName"));
    myAction ->setIcon(someIcon);
    myAction ->setToolTip(SomeTooltip);

    mytoolBar->insertAction(<some Action>, myAction);
    

    All of this is executed during object construction, but I also tried it only after the window displayed, and it didn't make any change.

    mrjjM 1 Reply Last reply
    0
    • R Raphy

      @mrjj
      I do this via code, I use 4.6.0 QtDesigner and I am not aware of any way to do it there.
      If it is possible to do in the designer, I'll be happy to know.
      Any way, the code is (more or less):

      ...
      QAction *myAction = aQMenuDefinedInDesigner->menuAction();
      myAction ->setObjectName(QString::fromUtf8("actionName"));
      myAction ->setIcon(someIcon);
      myAction ->setToolTip(SomeTooltip);

      mytoolBar->insertAction(<some Action>, myAction);
      

      All of this is executed during object construction, but I also tried it only after the window displayed, and it didn't make any change.

      mrjjM Offline
      mrjjM Offline
      mrjj
      Lifetime Qt Champion
      wrote on last edited by
      #8

      @Raphy
      Hi, im not sure the action editor was in Qt 4.6. Think not.
      Is aQMenuDefinedInDesigner a top level menu?

      R 1 Reply Last reply
      0
      • raven-worxR Offline
        raven-worxR Offline
        raven-worx
        Moderators
        wrote on last edited by raven-worx
        #9

        seems like a QStyle bug, if you aren't doing anything special other than creating a action.

        What does the following return?

        QApplication::style()->metaObject()->className()
        

        i also assume you dont have a stylesheet set? (On any widget)

        --- SUPPORT REQUESTS VIA CHAT WILL BE IGNORED ---
        If you have a question please use the forum so others can benefit from the solution in the future

        R 1 Reply Last reply
        0
        • mrjjM mrjj

          @Raphy
          Hi, im not sure the action editor was in Qt 4.6. Think not.
          Is aQMenuDefinedInDesigner a top level menu?

          R Offline
          R Offline
          Raphy
          wrote on last edited by
          #10

          @mrjj
          No, that menu is a sub-menu of a menu item in the main menu bar of the window.
          However, it is a QMenu.

          1 Reply Last reply
          0
          • raven-worxR raven-worx

            seems like a QStyle bug, if you aren't doing anything special other than creating a action.

            What does the following return?

            QApplication::style()->metaObject()->className()
            

            i also assume you dont have a stylesheet set? (On any widget)

            R Offline
            R Offline
            Raphy
            wrote on last edited by
            #11

            @raven-worx
            Hi,
            Tried it, it returns "QWindowsVistaStyle", since my system is Windows7.
            And you are right assuming I don't use an application based StyleSheet, but I do use style sheets for specific widgets, but not in this case.

            raven-worxR 1 Reply Last reply
            0
            • R Raphy

              @raven-worx
              Hi,
              Tried it, it returns "QWindowsVistaStyle", since my system is Windows7.
              And you are right assuming I don't use an application based StyleSheet, but I do use style sheets for specific widgets, but not in this case.

              raven-worxR Offline
              raven-worxR Offline
              raven-worx
              Moderators
              wrote on last edited by
              #12

              @Raphy said:

              And you are right assuming I don't use an application based StyleSheet, but I do use style sheets for specific widgets, but not in this case.

              on any widget in the parent hierarchy?
              If so please show the stylesheet code.

              --- SUPPORT REQUESTS VIA CHAT WILL BE IGNORED ---
              If you have a question please use the forum so others can benefit from the solution in the future

              R 1 Reply Last reply
              0
              • raven-worxR raven-worx

                @Raphy said:

                And you are right assuming I don't use an application based StyleSheet, but I do use style sheets for specific widgets, but not in this case.

                on any widget in the parent hierarchy?
                If so please show the stylesheet code.

                R Offline
                R Offline
                Raphy
                wrote on last edited by
                #13

                @raven-worx
                None. Just re-checked to make sure.

                Any way, I looked into maybe a work-around using styleSheet, but no success.
                Do you have any idea in this direction?

                1 Reply Last reply
                0
                • raven-worxR Offline
                  raven-worxR Offline
                  raven-worx
                  Moderators
                  wrote on last edited by raven-worx
                  #14

                  ok, i just tested a simple toolbar with a toolbutton (with submenu, only an icon and an empty text)
                  Using Qt 4.5.3 on Windows 7.

                  Everything looks like expected.

                  So i would say the error is very likely somewhere in your code.

                  --- SUPPORT REQUESTS VIA CHAT WILL BE IGNORED ---
                  If you have a question please use the forum so others can benefit from the solution in the future

                  R 2 Replies Last reply
                  0
                  • raven-worxR raven-worx

                    ok, i just tested a simple toolbar with a toolbutton (with submenu, only an icon and an empty text)
                    Using Qt 4.5.3 on Windows 7.

                    Everything looks like expected.

                    So i would say the error is very likely somewhere in your code.

                    R Offline
                    R Offline
                    Raphy
                    wrote on last edited by
                    #15

                    @raven-worx
                    OK, thank you for the effort, I appreciate it.
                    I prefer that situation since it gives some hope, rather than knowing there's a bug in Qt StyleSheet (or any other part of it).
                    If you had to guess, what do you think could make this happen?
                    Could you show me your code? maybe I'll see something I'm missing...

                    raven-worxR 1 Reply Last reply
                    0
                    • R Raphy

                      @raven-worx
                      OK, thank you for the effort, I appreciate it.
                      I prefer that situation since it gives some hope, rather than knowing there's a bug in Qt StyleSheet (or any other part of it).
                      If you had to guess, what do you think could make this happen?
                      Could you show me your code? maybe I'll see something I'm missing...

                      raven-worxR Offline
                      raven-worxR Offline
                      raven-worx
                      Moderators
                      wrote on last edited by raven-worx
                      #16

                      @Raphy said:

                      If you had to guess, what do you think could make this happen?

                      maybe you've set some maximum width. Or you do have set some stylesheet which gets derived to the toolbutton.

                      Could you show me your code? maybe I'll see something I'm missing...

                      Actually pretty simple. But try it and check if this one works. Also try it independently from your existing toolbar.

                      QMainWindow* mainWindow = new QMainWindow;
                      
                      QToolBar* toolbar = mainWindow->addToolBar("Toolbar");
                      
                      QMenu* menu = new QMenu;
                          menu->addAction("Item 1");
                          menu->addAction("Item 2");
                          menu->addAction("Item 3");
                      
                      QAction *myAction = toolbar->addAction("");
                      myAction->setObjectName(QString::fromUtf8("actionName"));
                      myAction->setIcon( QIcon("...") );
                      myAction->setToolTip("SomeTooltip");
                      myAction->setMenu( menu );
                      toolbar->addAction( myAction );
                      
                      mainWindow->setCentralWidget(new QWidget);
                      mainWindow->show();
                      

                      --- SUPPORT REQUESTS VIA CHAT WILL BE IGNORED ---
                      If you have a question please use the forum so others can benefit from the solution in the future

                      R 1 Reply Last reply
                      0
                      • raven-worxR raven-worx

                        @Raphy said:

                        If you had to guess, what do you think could make this happen?

                        maybe you've set some maximum width. Or you do have set some stylesheet which gets derived to the toolbutton.

                        Could you show me your code? maybe I'll see something I'm missing...

                        Actually pretty simple. But try it and check if this one works. Also try it independently from your existing toolbar.

                        QMainWindow* mainWindow = new QMainWindow;
                        
                        QToolBar* toolbar = mainWindow->addToolBar("Toolbar");
                        
                        QMenu* menu = new QMenu;
                            menu->addAction("Item 1");
                            menu->addAction("Item 2");
                            menu->addAction("Item 3");
                        
                        QAction *myAction = toolbar->addAction("");
                        myAction->setObjectName(QString::fromUtf8("actionName"));
                        myAction->setIcon( QIcon("...") );
                        myAction->setToolTip("SomeTooltip");
                        myAction->setMenu( menu );
                        toolbar->addAction( myAction );
                        
                        mainWindow->setCentralWidget(new QWidget);
                        mainWindow->show();
                        
                        R Offline
                        R Offline
                        Raphy
                        wrote on last edited by
                        #17

                        @raven-worx
                        Thank you!
                        I'll try to make it as similar to your code and if it works for me, I'll let you know.

                        Could it be that calling 'addAction()' and adding it to the end of the toolbar works while
                        I call 'insertAction()' and something there does not work properly?

                        Thanks again.

                        raven-worxR 1 Reply Last reply
                        0
                        • R Raphy

                          @raven-worx
                          Thank you!
                          I'll try to make it as similar to your code and if it works for me, I'll let you know.

                          Could it be that calling 'addAction()' and adding it to the end of the toolbar works while
                          I call 'insertAction()' and something there does not work properly?

                          Thanks again.

                          raven-worxR Offline
                          raven-worxR Offline
                          raven-worx
                          Moderators
                          wrote on last edited by
                          #18

                          @Raphy said:

                          Could it be that calling 'addAction()' and adding it to the end of the toolbar works while
                          I call 'insertAction()' and something there does not work properly?

                          addAction() is just a call to insertAction() with index 0
                          So no ;)

                          --- SUPPORT REQUESTS VIA CHAT WILL BE IGNORED ---
                          If you have a question please use the forum so others can benefit from the solution in the future

                          R 1 Reply Last reply
                          0
                          • raven-worxR raven-worx

                            @Raphy said:

                            Could it be that calling 'addAction()' and adding it to the end of the toolbar works while
                            I call 'insertAction()' and something there does not work properly?

                            addAction() is just a call to insertAction() with index 0
                            So no ;)

                            R Offline
                            R Offline
                            Raphy
                            wrote on last edited by
                            #19

                            With all the good advice and help, I still cannot get it right.
                            Here's what I get: http://s12.postimg.org/c32ytn1cp/qaction.png

                            Any other ideas, anyone?

                            1 Reply Last reply
                            0
                            • raven-worxR raven-worx

                              ok, i just tested a simple toolbar with a toolbutton (with submenu, only an icon and an empty text)
                              Using Qt 4.5.3 on Windows 7.

                              Everything looks like expected.

                              So i would say the error is very likely somewhere in your code.

                              R Offline
                              R Offline
                              Raphy
                              wrote on last edited by
                              #20

                              @raven-worx said:

                              ok, i just tested a simple toolbar with a toolbutton (with submenu, only an icon and an empty text)
                              Using Qt 4.5.3 on Windows 7.

                              Everything looks like expected.

                              Hi again,
                              I just realized I (innocently) misinformed you, it turns out I use Qt 4.5.1, not .3. Sorry.
                              If it's possible to try it with this version, I would be grateful.

                              1 Reply Last reply
                              0

                              • Login

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