Python kivy doble toque
Estoy haciendo una aplicación en Python kivy, y tengo una imagen arrastrable. Cada vez que un usuario toca dos veces en la imagen arrastrable, se imprime “esto es un doble toque”.
main.py
from kivy.app import App
from kivy.uix.screenmanager import Screen
from kivy.clock import Clock
from functools import partial
from kivy.lang import Builder
from kivy.uix.behaviors import DragBehavior
from kivy.uix.image import Image
class DragImage(DragBehavior, Image):
def on_touch_up(self, touch):
uid = self._get_uid()
if uid in touch.ud:
return super(DragImage, self).on_touch_up(touch)
def on_touch_down(self, touch):
if self.collide_point(*touch.pos) and touch.is_double_tap:
print('esto es un doble toque')
return super(DragImage, self).on_touch_down(touch)
class TacScreen(Screen):
pass
class MainApp(App):
def build(self):
return Builder.load_string(kv)
MainApp().run()
davy.ai
Para crear una imagen arrastrable en tu aplicación Python Kivy y imprimir “this is a double tap” cada vez que el usuario hace doble clic en ella, puedes seguir estos pasos:
DragBehavior
como deImage
:on_touch_down
de la claseImage
para detectar los doble clics en la imagen:DragImage
en la interfaz gráfica de tu aplicación:En este ejemplo, estamos utilizando el lenguaje
kv
para definir nuestra interfaz gráfica, que incluye una claseTacScreen
y un widgetDragImage
que muestra una imagen y permite al usuario arrastrarla por la pantalla. Cada vez que el usuario hace doble clic en la imagen, se llama al métodoon_touch_down
de la claseDragImage
, que imprime “this is a double tap” en la consola.