1
我無法理解kivy。我正在創建一個帶有2個按鈕和一個自定義小部件的圖形用戶界面,它應該打印它接收的觸摸座標,問題在於自定義小部件顯然沒有接收源自btn2的觸摸事件。我相信它應該接收該事件,因爲根窗口小部件(窗口)必須將事件分派給其所有子項(包括自定義窗口小部件)。自定義小部件未在kivy中接收觸摸事件
from kivy.app import App
from kivy.uix.widget import Widget
from kivy.uix.button import Button
from kivy.uix.boxlayout import BoxLayout
from kivy.properties import ListProperty
class RootWidget(BoxLayout):
def __init__(self, **kwargs):
super(RootWidget, self).__init__(**kwargs)
self.add_widget(Button(text="btn1"))
self.add_widget(CustomBtn())
self.add_widget(Button(text="btn2"))
class CustomBtn(Widget):
pressed = ListProperty([0,0])
def on_touch_down(self, touch):
self.pressed = touch.pos
return False
def on_pressed(self, instance, value):
print "[CustomBtn] touch down at ", value
class Demo(App):
def build(self):
return RootWidget()
if __name__ == '__main__':
Demo().run()