У меня есть тестовые фрагменты Python:
py файл:
from kivy.app import App
class tutorApp(App):
def bn_pressed(self,button):
print(button.text)
return True
app = tutorApp()
app.load_kv('tutorial-3.kv')
app.run()
и файл kv (tutorial-3.kv):
<Tb@Button>:
on_touch_down:app.bn_pressed(self)
BoxLayout:
Tb:
text:'button1'
Tb:
text:'button2'
Tb:
text:'button3'
Когда янажал те три кнопки слева направо, я получил:
# press left
button3
button2
button1
# press middle
button3
button2
# press right
button3
, и я изменил строку:
<Tb@Button>
на
<Tb@Lable>
и нажалснова я получил:
# press left label
button3
button2
button1
# press middle label
button3
button2
button1
# press right label
button3
button2
button1
в чем причина этих различий?Предполагается остановить распространение события, когда я возвращаю True в event_handler, почему его продолжают вызывать?
Спасибо за любую помощь.
Кстати.Если я изменяю событие на on_press, все просто отлично, правильный обработчик и только правильный дескриптор вызывается при нажатии любой из трех кнопок.