Thêm nhóm lớp bằng PyQGIS? [đóng cửa]


Câu trả lời:


17

Thêm nhóm vào Bảng điều khiển Lớp

Sử dụng cây Layer mới (được giới thiệu từ QGIS v.2.4 và có sẵn cho QGIS v3.x), bạn có thể thêm một nhóm vào QGIS ToC theo cách này:

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

Nếu bạn muốn thêm nó vào một vị trí cụ thể trong ToC, hãy sử dụng:

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

Thêm nhóm vào các nhóm khác

Bạn thậm chí có thể tạo các nhóm lồng nhau (một nhóm thành một nhóm):

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

Nếu trước tiên bạn cần tìm một nhóm hiện có để đặt nhóm mới của bạn, hãy sử dụng nhóm này:

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

Bạn có thể tìm hiểu thêm về xử lý cây lớp ở đâyđây .


Tôi không thể tìm thấy lời giải thích cho ToC nghĩa là gì?
JACado

1
Cây lớp, huyền thoại, ToC, chúng là những cái tên thường được sử dụng trong GIS khi đề cập đến danh sách các lớp và nhóm trong một phần mềm.
Germán Carrillo

4

Có phương thức QssLegendInterface.addgroup (tên, mở rộng, cha mẹ)

Thí dụ:

iface.legendInterface().addGroup( 'abc')

Cảm ơn bạn rất nhiều, vấn đề là tôi đã không tham khảo giao diện và đã sử dụng trực tiếp QssLegendInterface.addgroup
malagueff

Có cách nào để kiểm soát vị trí bạn chèn menu không? Menu được chèn dưới hình dạng bạn đã chọn. Tôi cần phải đặt nó trên tất cả các lớp. Cảm ơn.
malagueff

@malagueff, Vui lòng chỉnh sửa câu hỏi của bạn theo nhận xét của bạn.
nghệ thuật21
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.