Aujourd'hui encore une autre fonction de PyQgis. Alors nous allons voir comment afficher les valeurs des champs des entités d'une couche.
Commençons par ouvrir la couche "COMMUNE" du dossier “BD_Topo_Administratif” (suivre ce lien pour télécharger les donnés) et la console de Python dans QGis (Ctrl+Alt+P).
On va saisir maintenant ces deux lignes dans la console de Python.
- coucheV=iface.activeLayer()
- for entite in coucheV.getFeatures():
- print(entite["Nom"])
Information: remplacer "D:/BD_Topo_Administratif" par le chemin vers le dossier BD_Topo_Administratif que vous avez téléchargé.
Explication du code:
- iface.activeLayer: sélectionner la couche active dans le panneau des couches.
- for entite in coucheV.getFeatures():
- For: une boucle qui permet de passer par les éléments d'un ensemble un pas un .
- getFeatures: une fonction permettant de récupérer les informations sur les entités d'une couche.
- for entite in coucheV.getFeatures() : si je traduit cette phrase en langage courant: passer les entités de la couche "coucheV" une par une.
- print(entite["Nom"]):
- "print" veut dire "écrire" en anglais.
- Nom: le nom d'un champ de la couche "COMMUNE"
- print(entite["Nom"]): on demande d'écrire la valeur du champ "Nom" pour l'entité.
- Traduction du code:
- Si je traduit le code en langage courant: vérifier les entités de la couche "COMMUNE" une par une et écrire la valeur du champ "Nom"
NB: pour cet exemple on a utilisé le mot "entite" pour la boucle "for" mais on aurait pu mettre n'importe quel autre nom.
Le résultat est le suivant:

Pour afficher la valeur de deux champs on saisit:
- coucheV=iface.activeLayer()
- for entite in coucheV.getFeatures():
- print(entite["Nom"]), entite["STATUT])
NB: "STAUT" est le nom d'un autre champ de la couche "COMMUNE"
Information:
Pour que la fonction "iface.activeLayer" fonctionne, il faut sélectionner une couche dans la panneau des couches.
J'espère que cet article vous sera utile 😉