Message posté par : Yoann Lecomte
----------------------------------------
Bonjour,
les expressions de la calculatrice ne calcule pas les valeurs dynamiquement sauf dans le
cas d'un champ virtuel.
Pour avoir quelque chose de complètement dynamique, je ne vois que la mise en place
d'une fonction d'initialisation python dans le formulaire.
Cette fonction pourrait mettre à jour champ 2 lorsque champ 1 change.
Quelque chose dans ce goût:
-----------------
Code :
# -*- coding: utf-8 -*-
"""
Les formulaires QGIS peuvent avoir une fonction Python qui sera appelée à l'ouverture
du formulaire.
Utilisez cette fonction pour ajouter plus de fonctionnalités à vos formulaires.
Entrez le nom de la fonction dans le champ "Fonction d'initialisation
Python".
Voici un exemple à suivre:
"""
from qgis.PyQt.QtWidgets import QWidget, QLineEdit
def update_test(dialog, value):
champ_2 = dialog.findChild(QLineEdit, "champ_2")
champ_2.setText(value)
def my_form_open(dialog, layer, feature):
champ_1 = dialog.findChild(QLineEdit, "champ_1")
champ_1.textChanged.connect(lambda: update_test(dialog, champ_1.value()))
-----------------
Ici le champ 2 recoit la valeur de champ 1 dés qu'elle change. Lorsque
l'utilisateur valide le formulaire les champs sont renseignés.
A partir de la, il ne devrait pas être très compliqué d'ajouter votre logique de
calcul pour champ 2...
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=330030#p330030
Pour y répondre : qgis_fr(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net