LegendReportItem

class axioma.render.LegendReportItem

Элемент отчета типа легенда

Унаследован от: ReportItem

LegendReportItem(legendPosition, rect, report)

Конструктор

Параметры:
  • legendPosition (LegendItemPosition) – Элемент легенды, на базе которого строится элемент отчета.
  • rect (QRectF) – Прямоугольник элемента отчета в координатах отчета.
  • report (Report) – Отчет, к которому относится создаваемый элемент.
legendItemPosition()

Возвращает элемент легенды, на базе которого строится элемент отчета

Результат:Элемент легенды
Тип результата:LegendItemPosition

Пример использования:

# Создание элемента отчета типа Легенда. Берем первую из открытых карт и для первого слоя создаем легенду
# Так же возможно создать элемент отчета не на базе MapView, а создав временный слой на основе открытой таблицы
def createLegendItem(report):
    if axioma.app.mainWindow.mapViewManager().mapViewCount():
        try:
            mapview = axioma.app.mainWindow.mapViewManager().currentMapView() # Получение текущей карты
            if mapview is not None:
                layers = mapview.map().flatLayerList() # Список слоев карты
                for lay in layers:
                    if isinstance(lay, HasStyles): # Если есть легенда
                        legendItem = FeatureLegendItem(lay, lay.name(), report) # Создание легенды для векторного слоя
                        itemPosition = LegendItemPosition(report, legendItem, legendItem.basePoint())
                        r_legend = QRectF(210, 380, 50, 50)
                        legendReportItem = LegendReportItem(itemPosition, r_legend, report) # Создание элемента отчета
                        report.addItem(legendReportItem) # Добавляем в отчет
        except Exception as ex:
            print(ex)