在 qgs 作文家图例中仅显示过滤图层 - PyQgis



我正在开发自定义Qgis插件。我想以图像的形式导出地图画布以及图例。图例的代码为:

legend = QgsComposerLegend(c)
legend.model().setLayerSet(mapRenderer.layerSet())
c.addItem(legend)

问题是它添加了地图图例中的所有图层,而我只想在地图图例中包含地图范围内可见的图层。我也尝试过:

legend.setLegendFilterByMapEnabled(True)

但这似乎行不通。关于如何解决这个问题的任何想法?

我通过拆分地图图和图例图解决了这个问题。 我的意思是;为地图图创建并保存绘图后,我为图例图创建了另一个 mapcanvas 渲染器,这次我使用 removeMapLayer 方法删除了不需要的图层。然后保存图例情节。

QgsMapLayerRegistry.instance().removeMapLayer(the_unwanted_layer)

我希望这有所帮助

最新更新