我使用Kivy和OWM构建了简单的天气应用程序,但我遇到了一个问题。虽然程序工作正常,但我仍然遇到了从OWM重新加载(再次获取)数据的问题。我曾尝试time.sleep()
,但后来我不知道如何让应用程序保持开放状态。我没有在互联网上找到任何东西,我尝试谷歌搜索,但我能找到的一切只是事件处理行动。我的猜测是使用某种定时器设置为2分钟来调用该功能,但那我如何刷新Kivy应用程序?所以我希望每2分钟左右运行一次“owm.get_weather()
”。希望你明白。感谢帮助 :)
附:我忘了我的代码.. https://github.com/ApplePie420/OWMapp/blob/master/main.py
答案 0 :(得分:0)
kivy有一个Clock
对象,您可以使用该对象为以后安排事件。
from kivy.clock import Clock
class MyApp(App):
# ...
def build(self):
Clock.schedule_interval(self.update_data, 120)
def update_data(self, *dt):
# put here your code to load the data
w = owm.get_weather()
self.windLB = w.get_wind()['speed']
# etc...