Skip to content Skip to sidebar Skip to footer

Usage Of Dragbehavior In Kivy

I'm new for python and kivy, and struggling with them. I wanted to implement drag and drop function (a function that when a image is dragged to another image and dropped on it, do

Solution 1:

Create a StringProperty named, name for example. Don't use id, because id is used in kv.
Change your class and kv as so:

from kivy.properties import StringProperty

class DraggableImage(DragBehavior, HoverBehavior, Image):

    name = StringProperty("")

    def __init__(self, **args):
        super(DraggableImage, self).__init__(**args)
        self.source_file = ""
        self.is_on_hover = False

    def on_enter(self):
        self.source_file = self.source
        self.source = "green.png"
        self.is_on_hover = True
        print(self.name)

    def on_leave(self):
        self.source = self.source_file
        self.is_on_hover = False
        print(self.name)

    def on_touch_up(self, touch):
        if self.is_on_hover:
            print(self.name)




KV = """

<DraggableImage>:
    drag_rectangle: self.x, self.y, self.width, self.height
    drag_timeout: 10000000
    drag_distance: 0

BoxLayout:
    orientation: "horizontal"
    DraggableImage:
        name: "left_left"
        source: "red.png"
    DraggableImage:
        name: "left_right"
        source: "yellow.png"
    DraggableImage:
        name: "right_left"
        source: "red.png"
    DraggableImage:
        name: "right_right"
        source: "yellow.png"

"""

Post a Comment for "Usage Of Dragbehavior In Kivy"