Menambahkan grup lapisan menggunakan PyQGIS? [Tutup]


8

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

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 .


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')

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
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.