Python kivy 拖动边界

Python kivy dragging boundaries

我正在 python kivy 中制作应用程序,但遇到了问题。我正在拖动图像,即使我在图像之外,它仍然会拖动。我希望仅当我按住图像时才拖动图像。我试图解决问题,但找不到任何解决方案。下面是我的代码!任何帮助表示赞赏!谢谢!

这是我的.kv

kv = '''

<DragImage>:
    drag_rectangle: self.x+self.width/3, self.y+self.height/3, self.width/3, self.height/3
    drag_timeout: 10000000
    drag_distance: 0


<MainScreen>:
#:import utils kivy.utils
#:import FadeTransition kivy.uix.screenmanager.FadeTransition

    canvas.before:
        Rectangle:
            pos: self.pos
            size: self.size
            source: "Background.png"

    DragImage
        id: book
        pos: 0, 102
        size_hint: 1, .1
        source: "Tv.png"
'''

这是我的main.py

    class DragImage(DragBehavior, Image):
        def on_touch_up(self, touch):
        uid = self._get_uid()
        if uid in touch.ud:
            print(self.source, 'dropped at', touch.x, touch.y)
        return super(DragImage, self).on_touch_up(touch)

您可以在计算 drag_rectangle:

时使用您看到的图片的实际大小而不是小部件大小
<DragImage>:
    drag_rectangle: self.center[0] - self.norm_image_size[0]/6, self.center[1] - self.norm_image_size[1]/6, \
        self.norm_image_size[0]/3, self.norm_image_size[1]/3