Cómo eliminar un vector QgsVectorLayer del complemento QGis python

13

Logré agregar QgsVectorLayera QGIStravés de un complemento de Python, por ejemplo:

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

Pero, ¿cómo puedo eliminarlo?

Heisenbug
fuente
No sabía que realmente podría usar este método en una asignación variable. Me ayudó a resolver un problema que no sabía que tenía: P
TurboGraphxBeige

Respuestas:

16

¿Estás en QGIS 1.8? Si es así, puede eliminar su vlcon:

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

de otra manera:

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

Y si tiene QGIS 3.0+, reemplácelo QgsMapLayerRegistrycon QgsProject.

O, si por casualidad desea eliminar todas las capas vacías, consulte el complemento Eliminar capas vacías .

andytilia
fuente
ok, ten en cuenta que acabo de editar la respuesta para usar tu vlvariable.
andytilia