I want to make a drop down box that shows 2 or 3 options and let the user choose 1 from them?
I would like to let the user to choose from "millimeter", "centimeter" and "meter". These Options are not from the field of input.
It seems like none of them here is valid:
3 Answers 3
If you are not limited to QGIS v2.8 (your screenshot points to v2.8 documentation), you can install a newer version. For example, in QGIS v2.14 you have a selection
parameter type available (see the docs):
You can use it in this way in the header of the script, separating options with a semicolon:
##Units=selection Millimeter;Centimeter;Meter
And later in the script you can get the chosen value in this way:
if Units == 0:
# User chose millimeter
elif Units == 1:
# User chose centimeter
elif Units == 2:
# User chose meter
For reference, here you have an example script.
-
Thanks a lot but I am limited to QGIS v2.8, is there a way to do it in v2.8?benchenggis– benchenggis2016年12月04日 05:12:50 +00:00Commented Dec 4, 2016 at 5:12
Germán Carrillo's answer is the most convenient. A possible alternative (if you're stuck with QGIS 2.8) could be to:
Use a string which allows the user to enter the units they want to use:
##units=string mm if units == 'mm': # Do something elif units == 'cm': # Do something elif units == 'm': # Do something
Or use three boolean checkboxes:
##Millimeter=boolean ##Centimeter=boolean ##Meter=boolean if Millimeter == True: # Do something elif Centimeter == True: # Do something elif Meter == True: # Do something
The selection option does work on QGIS 2.18.2 (Las Palmas). Please note that the selection parameter will get an integer value,starting from 0, (and not a string value) correspond to the order of the string as you write it in your selection (just like in Germán Carrillo answer).