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?


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 .


ok - observe que eu apenas editei a resposta para usar sua vlvariável.
andytilia
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.