Hi Mike,

I'm afraid you cannot add submenus to the plugin menu.


The addPluginToMenu function only takes actions as an argument:


action_1 = QAction('Action 1')
iface.addPluginToMenu('Plugin 1', action_1)

menu_1 = QMenu('Menu 1')
iface.addPluginToMenu('Plugin 1', menu_1)




The last line causes this error:

TypeError: QgisInterface.addPluginToMenu(): argument 2 has unexpected type 'QMenu'




Also see the docs:

https://qgis.org/pyqgis/master/gui/QgisInterface.html#qgis.gui.QgisInterface.addPluginToMenu



There might be a tricky way to get the QMenu of the main QGIS window and somehow add things in a Qt way.


Kind regards,
Raymond



On 12-05-2024 19:35, Elstermann, Mike via QGIS-User wrote:
Hello everyone,

I'm looking for a piece of QGIS Python code for a three-level menu, something like this:

Plugins
    |
    |
MyMenu > -+-- Submenu 1 > ---- SubSubMenu 1.1
    |      |               +--- SubSubMenu 1.2
    |      |               +--- SubSubMenu 1.3
Other...  |
           +-- Submenu 2 > ---- SubSubMenu 2.1
           |               +--- SubSubMenu 2.2
           |               +--- SubSubMenu 2.3
           |               +--- SubSubMenu 2.4
           |
           +-- Submenu 3 > ---- SubSubMenu 3.1
                           +--- SubSubMenu 3.2
  Can anyone help with a code snippet?
  Thanks & best regards, mikeE.

_______________________________________________
QGIS-User mailing list
QGIS-User@lists.osgeo.org
List info: https://lists.osgeo.org/mailman/listinfo/qgis-user
Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-user
_______________________________________________
QGIS-User mailing list
QGIS-User@lists.osgeo.org
List info: https://lists.osgeo.org/mailman/listinfo/qgis-user
Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-user

Reply via email to