Pages: 1
- Sujet précédent - QGIS 3.34: Python --> Action dans formulaire --> Utilisation variables - Sujet suivant
#1 Mon 27 October 2025 07:22
- pyjoubert
- Participant assidu
- Lieu: Lyon
- Date d'inscription: 21 Mar 2006
- Messages: 386
QGIS 3.34: Python --> Action dans formulaire --> Utilisation variables
Bonjour,
J'ai plusieurs layers mais qui fonctionnent toujours deux par deux
Exemple
zonebidulee
catzonebidule
zonemachin
catzonemachin
etc ...
Les zones sont des objets avec géométrie
les cat... sont des objets sans géométrie en reletion avec les zones
Pour la saisie des zones, il y une action python qui doit lire l'attribut
idzonebidule pour les zonebidulee
idzonemachin pour les zonemachin
etc ...
Cela revient à lire dans le formulaire un attribut dont le nom est contenu dans une variable (ici, lib_id)
L'idée est bien sûr d'optimiser le code en calculant le nom de l'attribut à traiter et le mettre dans une variable
C'est OK pour les variables catnomlayer et lib_id mais pas pour la variable idobjetpere
Ici, je la mais en dur et le traitement se passe bien
l
Code:
ayer_id = '[%@layer_id%]'
layer_zon = QgsProject().instance().mapLayer(layer_id)
nomlayer = layer_zon.name()
catnomlayer = ("cat" + nomlayer)
lib_id = ("id" + nomlayer)
idobjetpere = "[%idzonebidule%]"Mais je ne sais pas comment écrire la ligne qui récupère idobjetpere par calcul
J'ai essayé avec et sans les guillemet)
Code:
ib_id = ("id" + nomlayer)
idobjetpere = [%lib_id%]Mais ca génère une erreur
J'ai essayé plusieurs façon, mais je n'ai pas trouvé la bonne
Si vous avez une idée, je suis preneur
Merci et bonne journée, PYJ
Dernière modification par pyjoubert (Mon 27 October 2025 08:33)
Hors ligne
Pages: 1
- Sujet précédent - QGIS 3.34: Python --> Action dans formulaire --> Utilisation variables - Sujet suivant


