Message posté par : arobert01
----------------------------------------
Yo
Faut se rendre dans les propriétés et configurer les menus déroulant pour chaque champ (en
l'occurrence type_culture et sous_type). Ajoutez les options céréales, fourrages,
fèveroles, divers au formulaire "type_culture". Ensuite ajoutez un widget pour
l'autre champ, sous_culture mais la il faut ouvrir le module python et écrire ceci :
-----------------
Code :
from qgis.PyQt.QtWidgets import QComboBox
type_culture_field = 'type_culture'
sous_type_field = 'sous_type'
sous_types = {
"céréales": ["Blé dur", "Blé tendre", "Orge",
"Mais"],
"fourrages": ["Orge en vert", "Luzerne", "Sorgho
fourrager"],
"fèveroles": ["Fèves", "Poichiches", "Petits
pois", "Lentilles"],
"divers": ["Bouleaux", "Chataigniers",
"Sapins", "Epicéas"]
}
def update_sous_type(dialog, layer, feature):
type_culture_widget = dialog.findChild(QComboBox, type_culture_field)
sous_type_widget = dialog.findChild(QComboBox, sous_type_field)
def on_type_culture_changed(index):
selected_type = type_culture_widget.currentText()
sous_type_widget.clear()
if selected_type in sous_types:
sous_type_widget.addItems(sous_types[selected_type])
type_culture_widget.currentIndexChanged.connect(on_type_culture_changed)
on_type_culture_changed(0)
layer = iface.activeLayer()
dialog = layer.editFormConfig().dialog()
update_sous_type(dialog, layer, None)
-----------------
Là le code en fait il met à jour le second champ en fonction du premier.
A+
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=371758#p371758
Pour y répondre : geomatique(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