QGIS 3 के लिए, QgsMapLayerRegistry
की कार्यक्षमता को स्थानांतरित कर दिया गया है QgsProject
।
इसलिए, मानचित्र परतों पर पुनरावृत्ति के लिए, आपको उस संरचना का उपयोग करना चाहिए:
layers = QgsProject.instance().mapLayers()
.mapLayers()
के रूप में संरचित एक शब्दकोश देता है {layer_x_id: layer_x, layer_y_id: layer_y, ....}
। फिर आप परतों की तरह पुनरावृति कर सकते हैं:
for layer_id, layer in layers.items():
print(layer.name())
क्योंकि .mapLayers()
एक शब्दकोश ( dict
) लौटाता है , तो आप .values()
शब्दकोश की विधि का उपयोग भी कर सकते हैं, list
जो उस मामले में परतें शामिल करता है। फिर आप परतों की तरह पुनरावृति कर सकते हैं:
layers = QgsProject.instance().mapLayers().values()
for layer in layers:
print(layer.name())
यदि आप चाहें, तो आप इस तरह से पुनरावृत्ति कर सकते हैं:
layers = QgsProject.instance().mapLayers() # dictionary
for layer in layers.values():
print(layer.name())