Comment supprimer un vecteur QgsVectorLayer du plugin python QGis


13

J'ai réussi à ajouter QgsVectorLayerà QGIStravers un plugin python, par exemple:

vl = self.iface.addVectorLayer(uri.uri(), layerName, self.dbConn.getProviderName())

Mais comment puis-je le supprimer?


Je ne savais pas que vous pouviez réellement utiliser cette méthode dans une affectation de variable. M'a aidé à résoudre un problème que je ne savais pas que j'avais: P
TurboGraphxBeige

Réponses:


16

Êtes-vous sur QGIS 1.8? Si oui, vous pouvez retirer votre vlavec:

QgsMapLayerRegistry.instance().removeMapLayers( [vl.id()] )

autrement:

QgsMapLayerRegistry.instance().removeMapLayer( vl.id() )

Et si vous utilisez QGIS 3.0+, remplacez-le QgsMapLayerRegistrypar QgsProject.

Ou si par hasard vous souhaitez supprimer tous les calques vides, consultez le plugin Supprimer les calques vides .


ok - notez que je viens de modifier la réponse pour utiliser votre vlvariable.
andytilia
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.