WidgetManagerService - Менеджер виджетов¶
-
class
axioma.gui.
WidgetManagerService
¶ Примечание
Абстрактный
Менеджер виджетов
Для получения объекта этого класса используйте Доступные глобальные переменные
Унаследован от:
Методы:
from axioma.gui import MapView widgetManager = axioma.app.gui.widgetManager # get current MapView current_map_view = widgetManager.activeWidget(MapView) # get current widget (any) current_widget = widgetManager.activeWidget()
# Получение списка окон с картами from axioma.gui import * list = axioma.app.gui.widgetManager.allWidgets(MapView.staticMetaObject)
from axioma.gui import MapView, ItemView widgetManager = axioma.app.gui.widgetManager # без параметров callbackMap = lambda: print("Number of MapViews has changed") widgetManager.connectWidgetCountChanged(MapView, None, callbackMap) # с параметром callbackItem = lambda itemview_count: print("ItemViews: ", itemview_count) widgetManager.connectWidgetCountChanged(ItemView, None, callbackItem)
from PyQt5.QtWidgets import QWidget widgetManager = axioma.app.gui.widgetManager callbackChanged = lambda: print("Current widget changed") widgetManager.connectWidgetChanged(QWidget, None, callbackChanged)
from axioma.gui import MapView from PyQt5.QtWidgets import QPushButton widgetManager = axioma.app.gui.widgetManager callbackZoomChanged = lambda zoom: print("Zoom is changed: ", zoom) # guard контроллирует время жизни соединения guard = QPushButton("Disconnect") guard.setAttribute(Qt.WA_DeleteOnClose) guard.clicked.connect(guard.close) guard.show() widgetManager.connectCurrentWidget(MapView, MapView.zoomChanged, guard, callbackZoomChanged)
-
activeWidget
(widget_type=QWidget)¶ Получить активный виджет заданного типа
- Параметры
widget_type (
type
) – тип виджета
-
allWidgets
(type)¶ Список виджетов заданного типа
- Параметры
type (
QMetaObject
) – тип- Результат
список виджетов
- Тип результата
-
connectCurrentWidget
(type, signal, context, callback)¶ Подписаться на сигнал активного виджета. При его смене произойдет переподключение нового активного виджета
- Параметры
type (
type
) – тип виджета, за сигналом которого нужно следитьsignal (
PyQt5.QtCore.pyqtSignal
) – сигналcontext (
QObject
) – отвечает за время жизни соединенияcallback (
typing.Callable
) – вызываемый метод при смене виджета заданного типа; должен быть совместим с сигналом
-
connectWidgetChanged
(type, context, callback)¶ Подписаться на изменение текущего виджета определенного типа
- Параметры
-
connectWidgetCountChanged
(type, context, callback)¶ Подписаться на изменение количества виджетов определенного типа
-
count
(type)¶ Количество виджетов заданного типа
- Параметры
type (
QMetaObject
) – тип- Результат
количество
- Тип результата
-