如何从QGis python插件中删除矢量QgsVectorLayer


13

我设法增加QgsVectorLayerQGIS通过一个python的插件,例如:

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

但是,如何删除它?


不知道您实际上可以在变量分配中使用此方法。帮助我解决了一个我不知道的问题:P
TurboGraphxBeige

Answers:


16

您在使用QGIS 1.8吗?如果是这样,您可以通过以下方式删除您的vl帐户:

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

除此以外:

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

如果您使用的是QGIS 3.0+,请替换QgsMapLayerRegistryQgsProject

或者,如果有机会要删除所有空白层,请查看“ 删除空白层”插件


好的-请注意,我刚刚编辑了答案以使用您的vl变量。
andytilia 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.