【发布时间】:2021-11-10 09:34:26
【问题描述】:
我对 python turtle 比较陌生,并且正在尝试。我正在尝试根据用户提供的方程式为某些运动绘制位移角图。我计划将所有内容存储到一个数据文件中,这样我就可以在不更改 python 读取的文件目录的情况下继续添加新数据。我决定将每组数据编译成一个列表项,并通过for循环运行整个程序,逐组读取数据。例如,读取 set1 的数据、绘制图形并提示用户输入以重置海龟屏幕并读取 set2 的数据...
但是,我被困在最后一部分,在为第一个数据集绘制图表后,用户需要提示(在海龟屏幕上左键单击)退出屏幕/清除屏幕并绘制新的数据集。我试过 turtle.clearscreen() 和 turtle.exitonclick() 但它总是给我一个 turtle.Terminator 错误`
canvas = turtle.Screen()
for item in fulldatalist:
**filter and check valid data #assume valid data in this case)
turtle.setworldcoordinates(llx,lly,urx,ury) #the 4 values are based on the data input
**code for drawing of graph
canvas.exitonclick()
这是我当前使用的代码(**是其他部分的伪代码)但它给了我一个错误:_tkinter.TclError: invalid command name ".!canvas"。
我只收到在绘制第一张图之后提到的所有错误,并且用户点击屏幕。当我只使用 1 个数据集时,用于绘制图形的代码部分有效。
感谢任何帮助 :) Tysm!
编辑: 我稍微改了一下,现在看起来像这样
for item in fulldatalist:
canvas = turtle.Screen()
**filter and check valid data #assume valid data in this case)
turtle.setworldcoordinates(llx,lly,urx,ury) #the 4 values are based on the data input
**code for drawing of graph
done = input('enter to proceed with next data set')
canvas.resetscreen()
这很好用,但是我意识到它非常不方便,因为用户必须返回终端并按 Enter 键才能移动到下一个数据集。是否可以使用 exitonclick 或任何允许关闭窗口/单击窗口移动到下一个数据集的功能?
【问题讨论】:
标签: python turtle-graphics python-turtle