问题原因:on_touch ...方法在触摸事件链中首先执行,会将button响应覆盖,您会中断该链。
解决办法:只需添加super()即可继续。即在原有touch函数中添加最后一行。
class a(Widget):
def on_touch_down(self, touch):
print "touch x is ",touch.x
print "touch y is ",touch.y
# add this line:
super(a, self).on_touch_down(touch)