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
我正在 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