¿Permitir al usuario elegir entre 2 opciones para el parámetro de entrada de script de procesamiento QGIS?


8

¿Quiero hacer un cuadro desplegable que muestre 2 o 3 opciones y dejar que el usuario elija 1 de ellas?

Me gustaría permitir que el usuario elija entre "milímetro", "centímetro" y "medidor". Estas opciones no son del campo de entrada.

Parece que ninguno de ellos aquí es válido:

Parece que ninguno de ellos aquí es válido.

Respuestas:


5

La respuesta de Germán Carrillo es la más conveniente. Una posible alternativa (si está atascado con QGIS 2.8) podría ser:

  • Use una cadena que permita al usuario ingresar las unidades que desea usar:

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

    Unidades de texto


  • O use tres casillas de verificación booleanas:

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

    Unidades de casilla de verificación


9

Si no está limitado a QGIS v2.8 (su captura de pantalla apunta a la documentación de v2.8), puede instalar una versión más nueva. Por ejemplo, en QGIS v2.14 tiene un selectiontipo de parámetro disponible (consulte los documentos ):

ingrese la descripción de la imagen aquí

Puede usarlo de esta manera en el encabezado del script, separando las opciones con un punto y coma:

##Units=selection Millimeter;Centimeter;Meter

Y más adelante en el script puede obtener el valor elegido de esta manera:

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

Como referencia, aquí tiene un script de ejemplo .


Muchas gracias, pero estoy limitado a QGIS v2.8, ¿hay alguna manera de hacerlo en v2.8?
chenghopan

0

La selección de la opción hace el trabajo en QGIS 2.18.2 (Las Palmas). Tenga en cuenta que el parámetro de selección obtendrá un valor entero, comenzando desde 0, (y no un valor de cadena) correspondiente al orden de la cadena a medida que la escribe en su selección (al igual que en la respuesta de Germán Carrillo).

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.