Kivy Spinner: is any event triggered when a value

2019-06-21 06:11发布

I introduce a Spinner in my widget, and I want to perform some action every time I chose a different value from it.

Is it possible?

I only seem to get events on_press and on_release, but they are not triggered when a choice for a different value is made :-(

Best regards,

Bojan

2条回答
\"骚年 ilove
2楼-- · 2019-06-21 06:56

Beacuse the spinner updates its text property every time attr:values are changes,
I would do someting like this:

    Spinner:        
      text: '<select>'
      values: ['White', 'Yellow', 'Red', 'Green']
      on_text: root.on_spinner_select(self.text)

In python code:

class RootWidget(BoxLayout):
  def on_spinner_select(self, text):
    print (text)
查看更多
趁早两清
3楼-- · 2019-06-21 06:57

you have to use 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()

now in python:

def Home():
   "do your things"
def bureau():
   "do your things"
def kitchen():
   "do your things"
查看更多
登录 后发表回答