章节知识点总览
5.5 Spinner选择框
除了下拉列表外,Kivy中还可以使用Spinner选择框快速地从一组值中选择一个值,在默认状态下,Spinner会显示当前text的属性值,点击其倒三角时会显示出一个下拉菜单,从其中可以选择一个新的值。
5.5.1 使用方法
新建一个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文件,效果如下图:
5.5.2 常用属性
Spinner选择框常用属性
属性 | 说明 |
values | 下拉列表的值,默认为空列表[] |
is_open | 是否展开Spinner,默认为False |
sync_height | 是否更改下拉列表每个元素的高度,默认为False |
text_autoupdate | 是否使用values的第一个值更新Spinner,默认为False |
on_text | text值改变时触发该事件 |