ActiveToolPanel - Панель активного инструмента

class axipy.ActiveToolPanel

Сервис предоставляющий доступ к панели активного инструмента.

Пример использования.
service = ActiveToolPanel()
# Любой пользовательский графический элемент
widget = QWidget()

# Создаём обработчик для панели активного инструмента через который 
# будем управлять панелью. 
tool_panel = service.make_acceptable(
    title="Мой инструмент",
    observer_id=DefaultKeys.SelectionEditable,
    widget=widget)

# Подписываемся на сигнал отправляемый после нажатия на кнопку "Применить" в панели
tool_panel.accepted.connect(lambda: print("Применяем изменения"))

Чтобы отобразить переданный ранее графический элемент нужно вызвать activate(). Например при нажатии на пользовательскую кнопку.

Панель активного инструмента созданная через make_acceptable() по умолчанию содержит кнопку «Применить». По нажатию на эту кнопку отсылается сигнал accepted() который можно обработать в пользовательском инструменте.

Панель активного инструмента созданная через make_custom() представляет из себя пустой контейнер в который можно поместить пользовательский графический элемент. Это дает больше свободы для реализации управления панелью активного инструмента.

Переданный идентификатор наблюдателя используется для управления видимостью и доступностью панели. Панель активного инструмента сразу закроется как только наблюдатель вернет False.

Методы:

make_acceptable(title, observer_id[, widget])

Создает экземпляр обработчика через который можно взаимодействовать с панелью активного инструмента.

make_custom(title, observer_id[, widget])

Создает экземпляр обработчика панели активного инструмента.

make_acceptable(title: str, observer_id: Observer, widget: Optional[QWidget] = None) AxipyAcceptableActiveToolHandler

Создает экземпляр обработчика через который можно взаимодействовать с панелью активного инструмента. По умолчанию добавляются кнопки «Применить/Отменить».

Параметры:
  • title – Заголовок панели активного инструмента. Обычно это название инструмента.

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

  • widget – Пользовательский виджет который будет отображаться в панели активного инструмента.

make_custom(title: str, observer_id: Observer, widget: Optional[QWidget] = None) AxipyCustomActiveToolPanelHandler

Создает экземпляр обработчика панели активного инструмента. В который можно установить любой пользовательский графический элемент. Используется когда пользователю не нужны предустановленные элементы управления.

Параметры:
  • title – Заголовок панели активного инструмента. Обычно это название инструмента.

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

  • widget – Пользовательский виджет который будет отображаться в панели активного инструмента.