我在我的小部件中引入了Spinner
,每次我从中选择不同的值时,我都想执行一些操作。
有可能吗?
我似乎只获得了事件on_press
和on_release
,但是当选择不同的值时,它们不会被触发: - (
致以最诚挚的问候,
博
答案 0 :(得分:5)
因为每次attr时,微调器都会更新其文本属性:值是更改,我会这样做:
Spinner:
text: '<select>'
values: ['White', 'Yellow', 'Red', 'Green']
on_text: root.on_spinner_select(self.text)
在python代码中:
class RootWidget(BoxLayout):
def on_spinner_select(self, text):
print (text)
答案 1 :(得分:2)
你必须使用on_text:
spinner:
id: my_spinner
values: ("Home", "bureau", "kitchen")
on_text: if my_spinner.text == "Home": root.Home()
elif my_spinner.text == "bureau": root.bureau()
else: root.kitchen()
现在在python中:
def Home():
"do your things"
def bureau():
"do your things"
def kitchen():
"do your things"