Suite

Supprimer les couches en mémoire QGIS python

Supprimer les couches en mémoire QGIS python


J'ai un plugin avec mon propre canevas de carte et je crée un bouton afin de supprimer toutes les couches visibles ou ouvertes dans le canevas de carte. J'utilise ces lignes :

QgsMapLayerRegistry.instance().removeAllMapLayers() self.canvas.refresh()

Et ça marche mais j'ai noté que les calques ne sont pas dans la toile mais existent quand même, je pense qu'ils sont en mémoire. Comment puis-je supprimer définitivement les calques ?


J'ai trouvé une solution. Je ne pouvais pas changer le résultat obtenu parself.canvas.layerCount()mais si j'utiliseQgsMapLayerRegistry.instance().count()J'obtiens 0 si les couches sont supprimées. C'est donc ce dont j'ai besoin.

Merci pour l'aide.


Voir la vidéo: Use Python and QGIS pyQGIS to Automate GIS Tasks and Workflows