LegendReportItem ================= .. currentmodule:: axioma.render .. class:: LegendReportItem Элемент отчета типа легенда Унаследован от: :class:`~axioma.render.ReportItem` .. py:method:: LegendReportItem(legendPosition, rect, report) Конструктор :param legendPosition: Элемент легенды, на базе которого строится элемент отчета. :type legendPosition: :class:`LegendItemPosition` :param rect: Прямоугольник элемента отчета в координатах отчета. :type rect: :class:`~PyQt5.QtCore.QRectF` :param report: Отчет, к которому относится создаваемый элемент. :type report: :class:`~axioma.render.Report` .. py:method:: legendItemPosition() Возвращает элемент легенды, на базе которого строится элемент отчета :return: Элемент легенды :rtype: :class:`~axioma.render.LegendItemPosition` Пример использования: .. code-block:: python # Создание элемента отчета типа Легенда. Берем первую из открытых карт и для первого слоя создаем легенду # Так же возможно создать элемент отчета не на базе 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)