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 – Пользовательский виджет который будет отображаться в панели активного инструмента.