Добавление панели инструментов через PyQGIS?


10

Из учебных пособий я узнал, как добавить инструментальную кнопку на панель инструментов плагинов через Python. Теперь мне интересно, как добавить полную панель инструментов с кнопками панели инструментов через Python.

Кто-нибудь может привести пример кода?

Ответы:


17

Вы можете использовать API-вызов addToolBar () через QgisInterface (т.е. iface) для создания пользовательской панели инструментов:

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.