Не работает кнопка в python kivy
Проблема заключается в том, что метод on_touch_down перекрывает метод on_press у кнопки (я так думаю, потому что если его убрать кнопка снова работает). Можно ли это как-то исправить не проверяя коллизию с кнопкой в методе on_touch_down?
main.py
from kivy.app import App
from kivy.uix.widget import Widget
from kivy.uix.image import Image
from kivy.properties import ObjectProperty
from kivy.graphics import Color
class Plane(Image):
def __init__(self, **kwargs):
super(Plane, self).__init__(**kwargs)
pass
class Container(Widget):
im = ObjectProperty(None)
def remove_plane(self):
print('widget reomove')
self.remove_widget(self.im)
def on_touch_down(self, touch):
if self.im.collide_point(touch.x, touch.y):
self.im.drag = True
def on_touch_move(self, touch):
if self.im.drag:
self.im.pos = touch.x-self.im.width/2, touch.y-self.im.height/2
def on_touch_up(self, touch):
self.im.drag = False
class AnimateInstructionApp(App):
def build(self):
return Container()
if __name__ == "__main__":
AnimateInstructionApp().run()
animateinstruction.kv
<Container>:
im: im
canvas.before:
Color:
rgba: 0, 0, 1, 1
Rectangle:
size: root.size
pos: 0,0
Plane:
id: im
drag: False
source: 'space2.gif'
allow_stretch: True
size: root.height/6, root.height/6
pos: 300 ,300
Button:
text: 'remove'
size_hint: .2, .2
pos_hint: {'x': 100, 'y':100}
font_size: 20
on_press:
root.remove_plane()