Как удалить вектор 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.

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


хорошо - обратите внимание, что я только что отредактировал ответ, чтобы использовать вашу vlпеременную.
andytilia
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.