除了下拉列表外,Kivy中还可以使用Spinner选择框快速地从一组值中选择一个值,在默认状态下,Spinner会显示当前text的属性值,点击其倒三角时会显示出一个下拉菜单,从其中可以选择一个新的值。
新建一个spinner.py文件,独立完成spinner.py中的启动代码,使用BoxLayout布局,具体内容如下:
- from kivy.app import App
- from kivy.uix.boxlayout import BoxLayout
- class SpinnerBox(BoxLayout):
- def __init__(self,**kwargs):
- super().__init__(**kwargs)
- class SpinnerApp(App):
- def build(self):
- return SpinnerBox()
- if __name__ == '__main__':
- SpinnerApp().run()
根据spinner.py文件中的SpinnerApp()类,新建spinner.kv文件,在其内使用values属性为Spinner选择框设置下拉列表中的值,具体内容如下:
- <SpinnerBox>:
- Spinner:
- size_hint:None,None
- size:100,44
- pos_hint:{'center':(.5,.5)}
- text:'Home'
- values:'Home','Work','Other','Custom'
- on_text:print("The spinner's text is:",self.text)
运行spinner.py文件,效果如下图:
Spinner选择框常用属性
属性 | 说明 |
values | 下拉列表的值,默认为空列表[] |
is_open | 是否展开Spinner,默认为False |
sync_height | 是否更改下拉列表每个元素的高度,默认为False |
text_autoupdate | 是否使用values的第一个值更新Spinner,默认为False |
on_text | text值改变时触发该事件 |