LayerControlWidget - Виджет управления слоями карты

class axipy.LayerControlWidget

Виджет управления слоями карты. Список доступных виджетов можно получить посредством axipy.ViewManager.layer_controls

Пример добавления в главное окно приложения (полный пример см. Пример приложения из готовых компонентов):

from PySide2.QtWidgets import QDockWidget
from PySide2.QtCore import Qt

layer_control = LayerControlWidget()
dock_layer_control = QDockWidget('Управление слоями', app.mainwindow.widget)
dock_layer_control.setWidget(layer_control.widget)
app.mainwindow.widget.addDockWidget(Qt.LeftDockWidgetArea, dock_layer_control)

Пример запроса выделенных слоев:

for lc in axipy.view_manager.layer_controls:
    print(f'Карта: {lc.active_map_view.title}')
    if lc.selected_layers:
        for l in lc.selected_layers:
            print('Слой или группа:' , l.title)

Свойства:

active_map_view

Возвращает активную карту

selected_layers

Возвращает список выбранных слоев или групп

widget

Виджет, соответствующий содержимому окна.r

Сигналы:

mapview_activated

Сигнал об изменении активной карты.

selection_changed

Сигнал об изменении выбранных слоев или групп.

property active_map_view: MapView

Возвращает активную карту

property mapview_activated: Signal

Сигнал об изменении активной карты.

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

Signal[MapView]

property selected_layers: Optional[ListLayers]

Возвращает список выбранных слоев или групп

property selection_changed: Signal

Сигнал об изменении выбранных слоев или групп.

Пример:

for lc in axipy.view_manager.layer_controls:
    lc.selection_changed.connect(lambda: print('Выбор изменен'))
Тип результата:

Signal[]

property widget: QWidget

Виджет, соответствующий содержимому окна.r

Результат:

Qt5 виджет содержимого.