【发布时间】:2020-12-16 10:13:57
【问题描述】:
所以我一般来说是 Kivy 和 Gui 编码的新手......我正在尝试制作一个可移动的图像,这是我迄今为止尝试过的代码:
from kivy.app import App
from kivy.uix.widget import Widget
from kivy.uix.image import Image
from kivy.uix.behaviors import DragBehavior
from kivy.uix.floatlayout import FloatLayout
class Box_layout(FloatLayout):
def __init__(self,**kwargs):
super(Box_layout, self).__init__(**kwargs)
self.size_hint = (.50,.50)
self.orientation = "vertical"
self.add_widget(MoveableImage())#drag_rectangle = [self.x, self.y, self.width, self.height],source="temp_plot.png"))
class MoveableImage(DragBehavior,Image):
def __init__(self, **kwargs):
super(MoveableImage, self).__init__(**kwargs)
self.drag_timeout = 10000000
self.drag_distance = 0
#self.drag = DragBehavior()
#self.drag.drag_rectangle = [self.x, self.y, self.width, self.height]
class gameApp(App):
def build(self):
wimg = MoveableImage(source="temp_plot.png")
m = Box_layout()
if __name__ == '__main__':
gameApp().run()
发生的情况是我目前有一个空白的“图像”,在第一次单击时可以拖动,但随后达到超时或在移动一次后无法移动的情况.....我认为这是一个超时问题或self.drag_timeout = 10000000 没有解决问题...我在这里做错了什么?
此外,当我将实际来源传递给 MoveableImage 时,即self.add_widget(MoveableImage(source='tmp.png')),图像从一开始就无法移动,这再次让我感到非常困惑....如果有人可以帮助并解释发生了什么然后解释为什么会出现这些行为,这太棒了!
【问题讨论】: