Python tkinter没有完成绘图

时间:2017-01-11 15:18:32

标签: python tkinter

我必须用tkinter绘制圣诞老人的房子,但是当使用下面的代码时它就会在第一行之后停止

首先我导入乌龟并打开gui屏幕

import turtle as t
t.Screen()

然后我使用此代码

>>> s = 100
>>> points = [(s,0), (s,s), (0,0), (s,s), (s/2.,2.*s), (0,s), (s,0)]
>>> for p in points:
        t.goto(p)
        t.mainloop()

但它在第一行后停止,我该如何解决这个问题?

1 个答案:

答案 0 :(得分:3)

正如turtle.mainloop的文档中所指定的那样:

  

turtle.mainloop()

     

启动事件循环 - 调用Tkinter的mainloop函数。必须是海龟图形程序中的最后一个语句。如果脚本在-n模式下从IDLE内运行(无子进程) - 用于交互式使用的龟图形

,则不能使用

然而,这不是最后一个声明:point中的每个points都会调用它。因此,您必须将程序重写为:

for p in points:
    t.goto(p)

t.mainloop()

如果你阅读规范的第二个粗体部分,甚至不需要调用它:你的程序不是交互式的。所以下面的程序就足够了:

import turtle as t
t.Screen()

for p in points:
    t.goto(p)