首页 > 解决方案 > 在 Python(Kivy) 中每 5 秒安排一次作业

问题描述

我想安排每 5 秒后完成一个作业,这需要大约 3 秒来执行。我用过

kivy.uix.clock.Clock.schedule_interval(my_job, 5)

def my_Job():
   # Job Statements
   time.sleep(5)
   my_job()
my_thread = threading.Thread(target=my_Job)
my_thread.start()

至今。但是第一个块是我的设计,因为它在主线程中执行,第二个块到达

RecursionError:调用 Python 对象时超出最大递归深度

从长远来看。我被困在这里,有没有人可以帮助我?谢谢

注意:我正在使用 kivy 开发桌面应用程序。

标签: pythonpython-3.xkivykivy-languageconcurrent-processing

解决方案


您可以使用sched. 请参阅文档my_job()请注意,以这种方式运行时,您不应该更改任何更改 kivy GUI 的内容。但是你可以调用Clock.schedule_once()frommy_job来做 GUI 的东西。


推荐阅读