Como remover um vetor QgsVectorLayer do plugin python QGis

13

Consegui adicionar QgsVectorLayerem QGISatravés de um plugin python, por exemplo:

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

Mas como posso removê-lo?

Heisenbug
fonte
Não sabia que você realmente poderia usar esse método em uma atribuição de variável. Me ajudou a resolver um problema que eu não sabia que eu tinha: P
TurboGraphxBeige

Respostas:

16

Você está no QGIS 1.8? Nesse caso, você pode remover o seu vlcom:

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

de outra forma:

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

E se você estiver no QGIS 3.0+, substitua QgsMapLayerRegistrypor QgsProject.

Ou, se por acaso você desejar remover todas as camadas vazias, consulte o plug-in Remover camadas vazias .

andytilia
fonte
ok - observe que eu apenas editei a resposta para usar sua vlvariável.
andytilia