QGis Python 플러그인에서 벡터 QgsVectorLayer를 제거하는 방법


13

예를 들어 파이썬 플러그인 QgsVectorLayerQGIS통해 추가 할 수 있었습니다 .

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

그러나 어떻게 제거 할 수 있습니까?


변수 할당에서이 방법을 실제로 사용할 수 있다는 것을 몰랐습니다. P : 나를 내가 몰랐던 것이 문제 해결 도움
TurboGraphxBeige

답변:


16

QGIS 1.8에 있습니까? 그렇다면 다음을 제거 할 수 있습니다 vl.

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

그렇지 않으면:

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

당신이 QGIS 3.0 이상에있는 경우에, 교체 QgsMapLayerRegistry와 함께 QgsProject.

또는 우연히 빈 레이어를 모두 제거하려면 빈 레이어 제거 플러그인을 확인 하십시오 .


확인- vl변수 를 사용하기 위해 답변을 편집했습니다 .
andytilia
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.