Come rimuovere un QgsVectorLayer vettoriale dal plugin python di QGis


13

Sono riuscito a aggiungere QgsVectorLayerin QGISattraverso un plugin python, per esempio:

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

Ma come posso rimuoverlo?


Non sapevo che potresti effettivamente utilizzare questo metodo in un'assegnazione variabile. Mi ha aiutato a risolvere un problema che non sapevo di avere: P
TurboGraphxBeige

Risposte:


16

Sei su QGIS 1.8? In tal caso, puoi rimuovere il tuo vlcon:

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

altrimenti:

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

E se utilizzi QGIS 3.0+, sostituiscilo QgsMapLayerRegistrycon QgsProject.

O se per caso vuoi rimuovere tutti i livelli vuoti, dai un'occhiata al plug-in Rimuovi livelli vuoti .


ok - nota che ho appena modificato la risposta per usare la tua vlvariabile.
andytilia,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.