我正在使用Kivy制作GUI。它从网址中提取“静态地图图像”(png)和“反向地理编码字符串”(json)。为此,我使用了kivy内置的 异步urlrequest 库。我的程序从一个.csv文件中获取(经度,纬度)并在屏幕上显示图片和地址详细信息,并且还根据json数据(dict)执行一些内部操作(例如:地址中有多少个单词。 )。有一个“ 下一个 ”按钮,按下后将拾取下一个(经纬度)并投影。现在,我添加了一个“ 自动化 ”按钮,该按钮将迭代(lat,long)并在“ next > '是手动按下的,但是在执行时,屏幕冻结,有时不响应,如果以某种方式执行,则json数据没有时间刷新。
我正在使用 time.sleep()。但这似乎没有用。我已经搜索过了,不知道是否是因为“缓冲”。贝娄是代码的一部分:
def automate(self):
for i in range(5):)
self.next('NaN')
time.sleep(6)
答案 0 :(得分:1)
您应该使用Clock
对象而不是time.sleep()
:
def automate(self):
Clock.schedule_interval(self.automate_next, 6)
def automate_next(self, dt):
self.next('NaN')