Jak usunąć wektor QgsVectorLayer z wtyczki python QGis


13

Udało mi się dodać QgsVectorLayerw QGISpośrednictwem wtyczki Python, na przykład:

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

Ale jak mogę to usunąć?


Nie wiedziałem, że faktycznie możesz użyć tej metody do przypisania zmiennej. Pomógł mi rozwiązać problem, o którym nie wiedziałem, że miałem: P
TurboGraphxBeige

Odpowiedzi:


16

Czy korzystasz z QGIS 1.8? Jeśli tak, możesz usunąć swoje za vlpomocą:

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

Inaczej:

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

A jeśli jesteś w QGIS 3.0+ zastąpić QgsMapLayerRegistryz QgsProject.

A jeśli przypadkiem chcesz usunąć wszystkie puste warstwy, sprawdź wtyczkę Usuń puste warstwy .


ok - zauważ, że właśnie edytowałem odpowiedź, aby użyć twojej vlzmiennej.
andytilia
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.