如何 select kivy 微调器的旧值

How to select kivy old value for the spinner

Kivy 文档指出“触摸微调器会显示一个下拉菜单,其中包含所有其他可用值,用户可以从中 select 一个新值。”是否有任何解决方法可以判断它是否是用户 select 为执行相同操作而输入的旧值?我真的被这个问题困住了,请帮帮我。

除了使用 on_texton_select,您还可以使用构成 DropDownButtons 来触发您想要的任何方法 运行.这样,是否选择相同的 Button 并不重要。这是该方法的一个简单示例:

from kivy.app import App
from kivy.lang import Builder

kv = '''
#:import Factory kivy.factory.Factory

<MySpinnerOption@SpinnerOption>:
    on_release: app.spinner_selected(self.text)

RelativeLayout:
    Spinner:
        text: 'Choose One'
        size_hint: 0.2, 0.2
        pos_hint: {'center_x':0.5, 'center_y':0.5}
        option_cls: Factory.get('MySpinnerOption')
        values: ['1', '2', '3']
        # on_text: app.spinner_selected(self.text)   # not needed
'''

class TestApp(App):
    def build(self):
        return Builder.load_string(kv)

    def spinner_selected(self, text):   # whatever method you want to run
        print('spinner selected:', text)

TestApp().run()

以上代码将 SpinnerDropDown 中的 Buttonson_release 设置为通常使用 'on_text 分配的方法.现在,只要释放 Buttons 之一,就会调用该方法。