ToolButton - Кнопка с инструментом

class axipy.ToolButton

Базовые классы: Button

Переключаемая кнопка с инструментом.

Пример
from typing import Optional

import axipy

# Класс инструмента
class MyTool(axipy.ViewTool):
    def __init__(self, param: str) -> None:
        self._param: str = param

def on_create_tool(view_type: axipy.ViewTool.ViewType) -> Optional[axipy.ViewTool]:
    if view_type == axipy.ViewTool.ViewType.MAP_VIEW:
        # Если необходимо передавать параметры в инструмент, то их можно передать в конструктор инструмента
        # внутри функции:
        param = "Передаваемый параметр"
        return MyTool(param)
    return None

# Создание кнопки с инструментом
button = axipy.ToolButton(
    title="Мой инструмент",
    on_create_tool=on_create_tool,
)

# Добавление кнопки на панель "Основные", на вкладку "Команды"
position = axipy.Position("Основные", "Команды")
position.add(button)
# Чтобы удалить добавленную кнопку нужно вызвать remove, или перезапустить приложение.
# button.remove()

Конструктор класса:

__init__(title, on_create_tool[, icon, ...])

Конструктор класса.

Свойства:

action

Возвращает ссылку на объект PySide2.QtWidgets.QAction.

is_toggled

Возвращает признак, нажата ли кнопка.

observer

Возвращает наблюдатель для определения доступности кнопки.

observer_id

Возвращает идентификатор наблюдателя для определения доступности кнопки.

Методы:

remove()

Удаляет кнопку из меню.

__init__(title: str, on_create_tool: Callable[[ViewType], Optional[ViewTool]], icon: Union[str, Path, QIcon] = '', enable_on: Optional[Observer] = None, tooltip: Optional[str] = None, doc_file: Optional[Union[str, Path]] = None, on_toggle: Optional[Callable[[bool], None]] = None)

Конструктор класса.

Параметры:
  • title – Текст.

  • on_create_tool – Функция создающая инструмент. Передается функция, которая будет вызвана в момент создания инструмента для карты. Функция должна принимать обязательный параметр типа axipy.ViewTool.ViewType и возвращать экземпляр axipy.ViewTool или None.

  • icon – Иконка. Может быть путем к файлу или адресом ресурса.

  • enable_on – Наблюдатель, для определения доступности кнопки.

  • tooltip – Строка с дополнительной короткой информацией по данному действию.

  • doc_file – Полный путь к html файлу с документацией.

  • on_toggle – Действие на нажатие. Передается функция, которая будет вызвана при нажатии на кнопку.

property action: QAction

Возвращает ссылку на объект PySide2.QtWidgets.QAction. Через него можно производить дополнительные необходимые действия через объект Qt.

Пример задания всплывающей подсказки, используя метод класса PySide2.QtWidgets.QAction:

button.action.setToolTip("Всплывающая подсказка")
property is_toggled: bool

Возвращает признак, нажата ли кнопка.

property observer: Optional[Observer]

Возвращает наблюдатель для определения доступности кнопки.

property observer_id: str

Возвращает идентификатор наблюдателя для определения доступности кнопки.

remove()

Удаляет кнопку из меню.