Cara menghapus vektor QgsVectorLayer dari plugin python QGis


13

Saya berhasil menambahkan QgsVectorLayerdalam QGISmelalui sebuah plugin python, misalnya:

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

Tetapi bagaimana saya bisa menghapusnya?


Tidak tahu bahwa Anda sebenarnya bisa menggunakan metode ini dalam penugasan variabel. Membantu saya memecahkan masalah yang saya tidak tahu saya punya: P
TurboGraphxBeige

Jawaban:


16

Apakah Anda menggunakan QGIS 1.8? Jika demikian, Anda dapat menghapus vldengan:

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

jika tidak:

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

Dan jika Anda menggunakan QGIS 3.0+, ganti QgsMapLayerRegistrydengan QgsProject.

Atau jika kebetulan Anda ingin menghapus semua lapisan kosong, periksa plugin Hapus Lapisan Kosong .


ok - perhatikan bahwa saya baru saja mengedit jawaban untuk menggunakan vlvariabel Anda .
andytilia
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.