Table Of Contents
Spinner¶
New in version 1.4.0.

Spinner is a widget that provide a quick way to select one value from a set. In the default state, a spinner show its currently selected value. Touching the spinner displays a dropdown menu with all other available values from which the user can select a new one.
Example:
from kivy.base import runTouchApp
from kivy.uix.spinner import Spinner
spinner = Spinner(
# default value showed
text='Home',
# available values
values=('Home', 'Work', 'Other', 'Custom'),
# just for positioning in our example
size_hint=(None, None),
size=(100, 44),
pos_hint={'center_x': .5, 'center_y': .5})
def show_selected_value(spinner, text):
print('The spinner', spinner, 'have text', text)
spinner.bind(text=show_selected_value)
runTouchApp(spinner)
- class kivy.uix.spinner.Spinner(**kwargs)[source]¶
Bases: kivy.uix.button.Button
Spinner class, see module documentation for more information.
- dropdown_cls¶
Class used to display the dropdown list when the Spinner is pressed.
dropdown_cls is an ObjectProperty and defaults to DropDown.
Changed in version 1.8.0: If you set a string, the Factory will be used to resolve the class.
- is_open¶
By default, the spinner is not open. Set to True to open it.
is_open is a BooleanProperty and defaults to False.
New in version 1.4.0.
- option_cls¶
Class used to display the options within the dropdown list displayed under the Spinner. The text property of the class will be used to represent the value.
The option class requires at least:
- a text property, used to display the value.
- an on_release event, used to trigger the option when pressed/touched.
option_cls is an ObjectProperty and defaults to SpinnerOption.
Changed in version 1.8.0: If you set a string, the Factory will be used to resolve the class.
- values¶
Values that can be selected by the user. It must be a list of strings.
values is a ListProperty and defaults to [].
- class kivy.uix.spinner.SpinnerOption(**kwargs)[source]¶
Bases: kivy.uix.button.Button
Special button used in the dropdown list. We just set the default size_hint_y and height.