Tôi thấy việc tạo các lớp / nhóm 'vô hình' hữu ích để tránh hiển thị các bảng tra cứu, được yêu cầu cho các quan hệ giá trị nhưng có thể làm cho Bảng điều khiển Lớp trông hơi quá tải.
Chỉ cần làm rõ, các lớp / nhóm vô hình sẽ không xuất hiện trong Bảng điều khiển Lớp, nhưng chúng vẫn có thể được nhìn thấy trong khung vẽ hoặc được sử dụng trong các liên kết / quan hệ với các lớp khác.
CÂU TRẢ LỜI:
Sử dụng plugin Các lớp và nhóm vô hình , cho phép bạn:
- Làm cho các lớp / nhóm được chọn trở nên vô hình (nút plugin).
- Làm cho các lớp / nhóm (vô hình) hiển thị lại (nút plugin).
- Lưu trữ các lớp / nhóm khả năng hiển thị trong dự án QGIS của bạn.
- Tái tạo khả năng hiển thị các lớp / nhóm khi mở dự án QGIS của bạn.
- Tạo một lớp cụ thể vô hình (bằng mã).
- Làm cho một nhóm cụ thể vô hình (bằng mã).
Tạo một lớp vô hình (bằng mã):
if 'InvisibleLayersAndGroups' in qgis.utils.plugins:
ilg = qgis.utils.plugins['InvisibleLayersAndGroups']
ilg.hideLayer( layer ) # layer is a QgsMapLayer
Tạo một nhóm vô hình (bằng mã):
if 'InvisibleLayersAndGroups' in qgis.utils.plugins:
ilg = qgis.utils.plugins['InvisibleLayersAndGroups']
ilg.hideGroup( group ) # group is a QgsLayerTreeGroup
ilg.hideGroup( 'group2' ) # You can also pass a group name
Lưu ý: Có một vấn đề bạn cần lưu ý. Nếu bạn tạo một lớp vô hình và sau đó di chuyển nhóm cha của nó, lớp vô hình sẽ hiển thị lại (tôi không biết tại sao!). Vì vậy, khuyến nghị của tôi là chỉ làm cho các lớp / nhóm trên cùng trở nên vô hình (sau tất cả, bạn không thể di chuyển root).