Menambahkan grup lapisan menggunakan PyQGIS? [Tutup]

8

Bagaimana saya bisa membuat grup baru di manajer lapisan menggunakan kode python?

malagueff
sumber

Jawaban:

17

Menambahkan grup ke Panel Layers

Menggunakan pohon Layer baru (diperkenalkan sejak QGIS v.2.4 dan tersedia untuk QGIS v3.x) Anda bisa menambahkan grup ke ToC QGIS dengan cara ini:

root = QgsProject.instance().layerTreeRoot()
myGroup1 = root.addGroup("My Group 1")

Jika Anda ingin menambahkannya ke posisi tertentu di ToC, gunakan:

myGroup1 = root.insertGroup(2, "My Group 1")

Menambahkan grup ke grup lain

Anda bahkan dapat membuat grup bertingkat (grup menjadi grup):

myGroupA = myGroup1.addGroup("My Group A")

Jika Anda harus terlebih dahulu menemukan grup yang ada di mana menempatkan grup baru Anda, gunakan ini:

myOriginalGroup = root.findGroup("My existing group") # We assume the group exists
myNewGroup = myOriginalGroup.addGroup("My New Group")

Anda dapat mempelajari lebih lanjut tentang penanganan pohon Layer di sini dan di sini .

Germán Carrillo
sumber
Saya tidak dapat menemukan penjelasan apa arti ToC?
JACado
1
Layer tree, legend, ToC, mereka adalah nama yang biasanya digunakan dalam GIS ketika merujuk ke daftar layer dan grup dalam perangkat lunak.
Germán Carrillo
4

Ada metode QgsLegendInterface.addGroup (nama, perluas, induk)

Contoh:

iface.legendInterface().addGroup( 'abc')
Matthias Kuhn
sumber
Terima kasih banyak, masalahnya adalah saya tidak merujuk ke antarmuka dan langsung menggunakan QgsLegendInterface.addGroup
malagueff
Apakah ada cara untuk mengontrol posisi di mana Anda memasukkan menu? Menu dimasukkan di bawah bentuk yang telah Anda pilih. Saya harus meletakkannya di atas semua lapisan. Terima kasih.
malagueff
@malagueff, Harap edit pertanyaan Anda per komentar Anda.
artwork21