I am trying to generate maps in pdf files by using a pre-defined .qgz layout. I am already able to load layers and adjust color scale, etc. Since the legend is synchronized with the map layers, all the layers I have loaded are listed in the legend.
Using PrintComposer in QGIS I can turn off synchronization and remove the unwanted items in legend. Is there a way to do it automatically in Python? I tried to use QgsLegendModel, but it also removes the layers from map canvas.
projectInstance= QgsProject.instance()
projectLayoutManager = projectInstance.layoutManager()
for comp in projectLayoutManager.printLayouts():
for item in comp.items():
if(isinstance(item, QgsLayoutItemLegend)):
model = item.model()
while model.rowCount()>1:
model.removeRow(0)
break