working on it ...

Filters

Explore Public Snippets

Sort by

Found 1 snippet matching: "kivy framework"

    public by dave83  5049  15  8  6

    Touch down event binding in Kivy framework

    This code shows how to handle a touch event in the python Kivy framework. This snippet will generate a simple GUI, with 2 standard buttons and a custom button, where to bind the press event. Any Kivy property has a default on_ event. This event is called when the value of the property is changed. In this case the on_touch_down(self, touch) meth
    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='btn 1'))
             cb = CustomBtn()
             cb.bind(pressed=self.btn_pressed)
             self.add_widget(cb)
             self.add_widget(Button(text='btn 2'))
    
         def btn_pressed(self, instance, pos):
             print ('pos: printed from root widget: {pos}'.format(pos=pos))
    
     class CustomBtn(Widget):
    
         pressed = ListProperty([0, 0])
    
         def on_touch_down(self, touch):
             if self.collide_point(*touch.pos):
                 self.pressed = touch.pos
                 # we consumed the touch. return False here to propagate
                 # the touch further to the children.
                 return True
             return super(CustomBtn, self).on_touch_down(touch)
    
         def on_pressed(self, instance, pos):
             print ('pressed at {pos}'.format(pos=pos))
    
     class TestApp(App):
    
         def build(self):
             return RootWidget()
    
    
     if __name__ == '__main__':
         TestApp().run()

    List Complete ( 1 snippet total )

    Cannot find what you were looking for?
    Ask the Snip2Code Community

    • Public Snippets
    • Channels Snippets