Laisser l'utilisateur choisir parmi 2 options pour le paramètre d'entrée du script de traitement QGIS?

8

Je veux faire une liste déroulante qui montre 2 ou 3 options et laisser l'utilisateur en choisir 1?

Je voudrais laisser l'utilisateur choisir entre "millimètre", "centimètre" et "mètre". Ces options ne proviennent pas du champ de saisie.

Il semble qu'aucun d'eux ici ne soit valide:

Il semble qu'aucun d'entre eux ici n'est valide

chenghopan
la source

Réponses:

5

La réponse de Germán Carrillo est la plus pratique. Une alternative possible (si vous êtes bloqué avec QGIS 2.8) pourrait être de:

  • Utilisez une chaîne qui permet à l'utilisateur d'entrer les unités qu'il souhaite utiliser:

    ##units=string mm
    
    if units == 'mm':
        # Do something
    elif units == 'cm':
        # Do something
    elif units == 'm':
        # Do something

    Unités de texte


  • Ou utilisez trois cases à cocher booléennes:

    ##Millimeter=boolean
    ##Centimeter=boolean
    ##Meter=boolean
    
    if Millimeter == True:
        # Do something
    elif Centimeter == True:
        # Do something
    elif Meter == True:
        # Do something

    Unités de case à cocher

Joseph
la source
9

Si vous n'êtes pas limité à QGIS v2.8 (votre capture d'écran pointe vers la documentation v2.8), vous pouvez installer une version plus récente. Par exemple, dans QGIS v2.14, vous disposez d'un selectiontype de paramètre disponible (voir la documentation ):

entrez la description de l'image ici

Vous pouvez l'utiliser de cette façon dans l'en-tête du script, en séparant les options par un point-virgule:

##Units=selection Millimeter;Centimeter;Meter

Et plus tard dans le script, vous pouvez obtenir la valeur choisie de cette manière:

if Units == 0:
    # User chose millimeter
elif Units == 1:
    # User chose centimeter
elif Units == 2:
    # User chose meter

Pour référence, vous avez ici un exemple de script .

Germán Carrillo
la source
Merci beaucoup mais je suis limité à QGIS v2.8, existe-t-il un moyen de le faire dans la v2.8?
chenghopan
0

La sélection l' option fait le travail sur QGIS 2.18.2 (Las Palmas). Veuillez noter que le paramètre de sélection obtiendra une valeur entière, à partir de 0, (et non une valeur de chaîne) correspondant à l'ordre de la chaîne lorsque vous l'écrivez dans votre sélection (comme dans la réponse de Germán Carrillo).

user88484
la source