Kivy Spinner:从Spinner中选择一个值时触发的任何事件

时间:2015-07-30 10:32:00

标签: events spinner kivy

我在我的小部件中引入了Spinner,每次我从中选择不同的值时,我都想执行一些操作。

有可能吗?

我似乎只获得了事件on_presson_release,但是当选择不同的值时,它们不会被触发: - (

致以最诚挚的问候,

2 个答案:

答案 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"