RibbonExtension =============== .. currentmodule:: axioma.gui.extension .. class:: RibbonExtension Класс для добавления элементов в ленточный интерфейс. Идентификаторы ленточного интерфейса для стандартных элементов можно получить из класса :class:`~axioma.gui.RibbonId` Методы: .. method:: addTab(id, text) Добавление вкладки. :param id: Идентификатор вкладки :type id: :class:`str` :param text: Название вкладки :type text: :class:`str` .. method:: addGroup(tabId, id, text) Добавление группы внутри вкладки. :param idTab: Идентификатор вкладки :type idTab: :class:`str` :param id: Идентификатор группы :type id: :class:`str` :param text: Название группы :type text: :class:`str` .. method:: addCategory(id, text) Добавление категории команд. :param id: Идентификатор категории :type id: :class:`str` :param text: Название категории :type text: :class:`str` .. method:: addAction(id, tabId, groupId[, rowSpan = 1, columnSpan = 1, row = -1, column = -1]) Добавление кнопки действия или инструмента в ленточный интерфейс. Размер и положение кнопки измеряется ячейками 16x16 пикселей. :param id: Идентификатор кнопки действия или инструмента :type id: :class:`str` :param tabId: Идентификатор вкладки :type tabId: :class:`str` :param groupId: Идентификатор группы :type groupId: :class:`str` :param rowSpan: вертикальный размер кнопки в группе :type rowSpan: :class:`int` :param columnSpan: горизонтальный размер кнопки в группе :type columnSpan: :class:`int` :param row: вертикальная позиция кнопки в группе :type row: :class:`int` :param column: горизонтальная позиция кнопки в группе :type column: :class:`int` Идентификаторы ленточного интерфейса для стандартных категорий можно получить из класса :class:`~axioma.gui.RibbonId` Пример использования: .. code-block:: python # Получаем ссылку на существующий интерфейс приложения ribbonExt = axioma.gui.extension.RibbonExtension() # Добавляем новую группу во каладку с инструментами для карты ribbonExt.addGroup("map","MyGroupId", "Описание") # Добавляем действие в созданную группу ribbonExt.addAction("MyActionId", "map", "MyGroupId") # Расширение, добавляющее QAction, создаваемый функцией createAction actionExt = axioma.gui.extension.ActionExtension(createAction, "ExampleActionId") # Пример функции createAction def createAction(parent): action = PyQt5.QtWidgets.QAction(parent) action.setText("Действие") action.triggered.connect(lambda: QMessageBox.information(axioma.app.mainWindow, "Заголовок", "Сообщение") ) return action