Symbolleiste über PyQGIS hinzufügen?

10

In Tutorials habe ich gelernt, wie man der Plugins-Symbolleiste über Python einen Toolbutton hinzufügt. Jetzt frage ich mich, wie ich eine vollständige Symbolleiste mit Symbolleistenschaltflächen über Python hinzufügen kann.

Kann jemand einen Beispielcode geben?

dimpflmoser
quelle

Antworten:

17

Sie können den API-Aufruf addToolBar () über QgisInterface (dh iface) verwenden, um eine benutzerdefinierte Symbolleiste zu erstellen:

class MyPlugin:

    def __init__(self, iface):
        # Save reference to the QGIS interface
        self.iface = iface

    def initGui(self):
        # Add toolbar 
        self.toolbar = self.iface.addToolBar("My_ToolBar")

        # Create actions 
        self.someact = QAction(QIcon(":/plugins/MyPlugin/icons/someactionicon.png"),
                               QCoreApplication.translate("MyPlugin", "My Action"),
                               self.iface.mainWindow())

        # Connect action signals to slots
        self.someact.triggered.connect(self.doSomething)

        # Add actions to the toolbar
        self.toolbar.addAction(self.someact)

    def unload(self):
        # remove toolbar on plugin unload
        del self.toolbar

    def doSomething(self):
        # slot for action
        pass
Dakcarto
quelle