在Python中有没有gobject.timeout_add()的替代方法?
我在我的项目中使用 gobject.timeout_add() 来显示一个计时器(dojotools)。
我在想有没有其他方法可以实现同样的效果,但不需要依赖 gobject。
其实我的需求就是在一定的时间间隔内重复调用一个方法。
2 个回答
1
如果你愿意使用TkInter,这个库在所有的Python版本中都可以找到(除了手机和可能一些平板),你可以使用TkInter的after()
函数。
这样就可以避免使用sleep时造成的程序阻塞。
2
你可以使用一个线程,并在里面加上time.sleep(interval)来达到相同的效果。
import thread, time
def timer():
while True:
time.sleep(1)
# do something here
thread.start_new_thread(timer, ())