Accessing a (sub)menu defined in an XmlGui ui.rc file

Tobias Leupold tobias.leupold at
Wed Jan 13 09:39:48 GMT 2021

Hi list :-)

I have a problem with a KXmlGuiWindow and I honestly can't find respective
docs or howtos/tutorials. I hope someone here can help me ...

It's a allegedly basic task: How can I access a submenu (or better: a
submenu's QAction) for a menu defined in a ...ui.rc file?

If I define the submenu like so:

      <Menu name="foo" >
        <Menu name="bar">
          <text>Some text</text>
          <Action name="someAction"/>

I can access the "someAction" action like the other ones like so:

    auto *someAction
        = actionCollection()->addAction(QStringLiteral("someAction"));
    someAction->setText(i18n("Some action"));
    connect(someAction, &QAction::triggered, this, 

and so on.

But how can I get the "bar" QMenu (or it's respective QAction)? So that I 
e. g. disable or hide the menu, or assign an icon? For manually defined 
this would be as easy as "auto *action = menu->menuAction();" ...

Sorry if I overlooked something obvious, but I have no idea how to do this.
Thanks in advance for all help!

Cheers, Tobias

More information about the kde-devel mailing list