我制作了一个简单的程序,使您可以单击屏幕上的图来使用乌龟绘制东西。您移动到的每个点都记录在一个数组中。当用户完成绘制内容时,我想使用JSON将这个数组写入文本文件。
keytool -list -printcert -jarfile yourapkname.apk
import turtle
from turtle import Turtle, Screen
pastMovementsX = [0]
pastMovementsY = [0]
screen = Screen()
screen.setup(500, 350)
screen.screensize(600, 600)
def move(x, y):
moveto = turtle.goto(x, y)
pastMovementsX.append(turtle.xcor())
pastMovementsY.append(turtle.ycor())
turtle.onscreenclick(move)
之后的任何代码都不会运行。我认为它会一直检查屏幕上的单击,因此无法继续执行该程序。
我尝试了几件事。尤其是线程和多处理可以做到这一点。它没有用,经过一番研究后,乌龟模块似乎不喜欢或不能很好地与线程/多处理一起使用。
如何在按键后使程序停止turtle.onscreenclick()
并继续执行其他代码?
答案 0 :(得分:0)
turtle.onscreenclick()之后的任何代码都不会运行。我认为 一直在检查屏幕上的点击,因此无法继续 该程序。
您的问题无效,因为前提不正确:
from turtle import Turtle, Screen
def move(x, y):
moveto = turtle.goto(x, y)
pastMovementsX.append(x)
pastMovementsY.append(y)
pastMovementsX = [0]
pastMovementsY = [0]
screen = Screen()
screen.setup(500, 350)
screen.screensize(600, 600)
turtle = Turtle()
screen.onclick(move)
turtle.circle(50)
screen.mainloop()
onclick()
方法将设置处理程序函数,并继续执行下一条语句,它不会检查。这是通过tkinter事件循环完成的,该循环由程序中的最后一个mainloop()
调用转移到该循环。
我的猜测是您没有正确考虑代码计划采取的行动顺序,并描述这些行动可能有助于解决您的实际问题。