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

class axipy.gui.ActiveToolPanel

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

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

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

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

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

Панель активного инструмента по умолчанию содержит кнопки «Применить» и «Отмена». По нажатию кнопки «Отмена» посылается сигнал rejected() и очищается содержимое панели активного инструмента. По нажатию «Применить» отсылается сигнал accepted().

make_handler(title, observer_id, widget=None)

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

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

  • observer_id (Union[str, Key]) – Идентификатор наблюдателя для управления видимостью и доступностью.

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

Тип результата

AcceptableActiveToolHandler