Как удалить вектор QgsVectorLayer из плагина QGis Python

13

Мне удалось добавить QgsVectorLayerв QGISчерез питон плагин, например:

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.

Или, если вы хотите удалить все пустые слои, воспользуйтесь плагином « Удалить пустые слои» .

andytilia
источник
хорошо - обратите внимание, что я только что отредактировал ответ, чтобы использовать вашу vlпеременную.
andytilia