如何 select kivy 微调器的旧值
How to select kivy old value for the spinner
Kivy 文档指出“触摸微调器会显示一个下拉菜单,其中包含所有其他可用值,用户可以从中 select 一个新值。”是否有任何解决方法可以判断它是否是用户 select 为执行相同操作而输入的旧值?我真的被这个问题困住了,请帮帮我。
除了使用 on_text
或 on_select
,您还可以使用构成 DropDown
的 Buttons
来触发您想要的任何方法 运行.这样,是否选择相同的 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()
以上代码将 Spinner
的 DropDown
中的 Buttons
的 on_release
设置为通常使用 'on_text
分配的方法.现在,只要释放 Buttons
之一,就会调用该方法。
Kivy 文档指出“触摸微调器会显示一个下拉菜单,其中包含所有其他可用值,用户可以从中 select 一个新值。”是否有任何解决方法可以判断它是否是用户 select 为执行相同操作而输入的旧值?我真的被这个问题困住了,请帮帮我。
除了使用 on_text
或 on_select
,您还可以使用构成 DropDown
的 Buttons
来触发您想要的任何方法 运行.这样,是否选择相同的 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()
以上代码将 Spinner
的 DropDown
中的 Buttons
的 on_release
设置为通常使用 'on_text
分配的方法.现在,只要释放 Buttons
之一,就会调用该方法。