我正在学习Kivy并且目前正在尝试理解Slider类。我创建了两个滑块。滑块1应该只对on_touch_move做出反应,而滑块2应该对on_touch_up和on_touch_down做出反应。如果我实现这一点,就像我在下面的例子中所做的那样,两个滑块都会干扰,即它们对所有三个事件调度程序做出反应。我试图理解为什么会这样,以及如何解决这个问题,但我不能。谢谢你帮助我。
sliders.kv文件:
#: kivy 1.9.0
SliderScreen:
<SliderScreen>:
Slider:
min: 0
max: 1
value: 0.75
step: 0.01
on_touch_move: root.test_a()
Slider:
min: 0
max: 1
value: 0.25
step: 0.01
on_touch_up: root.test_b()
on_touch_down: root.test_c()
和main.py:
import kivy
kivy.require('1.9.0')
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.slider import Slider
class SliderScreen(BoxLayout):
def test_a(self):
print("test_a accessed")
def test_b(self):
print("test_b accessed")
def test_c(self):
print("test_c accessed")
class SlidersApp(App):
pass
if __name__ == '__main__':
SlidersApp().run()