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.