【问题标题】:Python 3.6.3: Is there a method in the turtle library that does the same thing as root.after?Python 3.6.3:turtle 库中是否有与 root.after 做同样事情的方法?
【发布时间】:2018-07-11 13:17:12
【问题描述】:

在 python 中,我正在制作一个海龟程序,我需要循环一个函数,我不会使用def n():#code; time.sleep(time); n(),因为我确信它会很快引发RecursionError,因为语法。

我很快就知道了tkinterroot.after 语法。

但是,我正在为海龟库寻找相同的语法。我在网上查了好几次,但到目前为止都没有运气。

turtle 库中是否有任何功能可以满足我的需求?

【问题讨论】:

  • 最好避免在 GUI 代码中使用time.sleep,因为它会使一切进入睡眠状态。而是使用turtle.delay。是的,避免递归是件好事;你应该可以在这里使用一个简单的while 循环。 FWIW,turtle 模块在 Tkinter 之上运行:turtle 图形在 Tkinter Canvas 上呈现,如果您真的需要它们,可以通过 turtle.getcanvas() 在turtle 中使用 Tkinter 方法。

标签: python python-3.6 turtle-graphics


【解决方案1】:

怎么样?

turtle.ontimer(fun, t=0)

参数: fun – 没有参数的函数 t – 一个数字 >= 0

https://docs.python.org/2/library/turtle.html#turtle.ontimer

【讨论】:

  • 听起来不错:这相当于 Turtle 的 Tkinter .after 方法。
猜你喜欢
  • 2017-01-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-28
  • 2020-06-10
  • 1970-01-01
  • 1970-01-01
  • 2011-03-07
相关资源
最近更新 更多