Mehr

Hinzufügen eines neuen Menüelements zur QGIS Desktop-App?

Hinzufügen eines neuen Menüelements zur QGIS Desktop-App?


Ich muss ein neues Menüelement zum Menü der obersten Ebene von QGIS Desktop (2.7.0) hinzufügen; D.h. es muss sich auf der gleichen Ebene befinden wie "Projekt", "Bearbeiten", "Ansicht", "Ebene" usw.

Soweit ich weiß, gibt es eine ziemlich schöne Möglichkeit, Menüelemente (Einstellungen-> Anpassung) auszublenden und mit QgisInterface (http://qgis.org/api/classQgisInterface.html) neue Elemente zu Menüs hinzuzufügen, die bereits in QGIS definiert sind ( addLayerMenu, addPluginToDatabaseMenu etc) aus meinem Plugin-Code.

Aber ich brauche einen neuen Menüpunkt auf der obersten Ebene (dies ist vom Kunden erforderlich).


Sie können der QGIS-GUI auf diese Weise ein benutzerdefiniertes Menü hinzufügen:

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

Wie Sie im obigen Code-Snippet sehen können, fügen Sie ein Menü an der vorletzten Position der Menüleiste hinzu, direkt vor demHilfeSpeisekarte.

Anschließend können Sie Ihrem neu hinzugefügten Menü auf folgende Weise eine Aktion hinzufügen:

self.menu.addAction( self.action )

Sie wissen es vielleicht schon, aber um es klarzustellen, sollte sich eine solche GUI-Konfiguration normalerweise iminitGui()Methode Ihres Plugins.


Schau das Video: QGIS 3 Free last version 2018