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

class axipy.ToolButton

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

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

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

  • on_click – Класс инструмента, наследник от axipy.MapTool.

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

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

См.также

axipy.ObserverManager.

Пример
from axipy import MapTool, ToolButton

# Класс инструмента
class MyTool(MapTool):
    pass
param = 'Передаваемый параметр' 
# Передача имени класса MapTool как параметр
button = ToolButton('Мой инструмент', MyTool)
# Если необходимо передавать параметры в конструктор, то можно передать как конструктор
# внутри lambda функции
button = ToolButton('Мой инструмент', lambda: MyTool(param))

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

__init__(title, on_click[, icon, enable_on, ...])

Свойства:

action

Ссылка на объект PySide2.QtWidgets.QAction.

observer_id

Идентификатор наблюдателя для определения доступности инструмента.

Методы:

remove()

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

__init__(title: str, on_click: Union[Callable[[], MapTool], MapTool], icon: Union[str, QIcon] = '', enable_on: Optional[Union[str, Observer]] = None, tooltip: Optional[str] = None)
property action: QAction

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

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

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

Идентификатор наблюдателя для определения доступности инструмента.

remove()

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