¿Agregar un nuevo elemento de menú a la aplicación QGIS Desktop?

14

Necesito agregar un nuevo elemento de menú al menú de nivel superior de QGIS Desktop (2.7.0); Es decir. estará en el mismo nivel que "Proyecto", "Editar", "Vista", "Capa", etc.

Por lo que sé, hay una forma bastante buena de ocultar los elementos del menú (Configuración- > Personalización) Además, con QgisInterface ( enlace ) puedo agregar nuevos elementos a los menús ya definidos en QGIS (addLayerMenu, addPluginToDatabaseMenu etc) desde mi complemento código.

Pero necesito un nuevo elemento de Menú en la capa superior (esto es requerido por el cliente).

    
pregunta Egor.Baykov 21.02.2015 - 21:13

1 respuesta

21

Puede agregar un menú personalizado a la GUI de QGIS de esta manera:

self.menu = QMenu( "&My tools", self.iface.mainWindow().menuBar() )
actions = self.iface.mainWindow().menuBar().actions()
lastAction = actions[-1]
self.iface.mainWindow().menuBar().insertMenu( lastAction, self.menu )

Como puede ver en el fragmento de código anterior, está agregando un menú a la segunda y última posición de la barra de menús, justo antes del menú Help .

Luego, puedes agregar una acción a tu menú recién agregado de esta manera:

self.menu.addAction( self.action )

Es posible que ya lo sepas, pero solo para dejarlo en claro, dicha configuración de GUI normalmente debería estar ubicada en el método initGui() de tu complemento.

    
respondido por el Germán Carrillo 21.02.2015 - 23:33

Lea otras preguntas en las etiquetas