【发布时间】:2015-04-03 07:59:35
【问题描述】:
你能指导我吗?画了一个正方形后,如何关闭屏幕再重新打开?
import turtle
win = turlte.Screen()
Man = turtle.Turtle()
for i in range(4):
Man.fd(100)
Man.right(90)
【问题讨论】:
标签: python-2.7
你能指导我吗?画了一个正方形后,如何关闭屏幕再重新打开?
import turtle
win = turlte.Screen()
Man = turtle.Turtle()
for i in range(4):
Man.fd(100)
Man.right(90)
【问题讨论】:
标签: python-2.7
如果您将 Tkinter 与 turtle.RawTurtle(canvas) 一起使用,则可以访问 Tkinter 的所有功能,RawTurtle 将 canvas 作为参数,这是一个 tkinter 画布对象。在这种情况下,您可以创建一个新的tkinter.Toplevel,您可以在其上创建一个画布,您可以在上面使用RawTurtle。像这样的:
import turtle, random, time
from Tkinter import *
tk = Toplevel()
screen = Canvas(tk, width=500, height=500)
screen.pack()
t = turtle.RawTurtle(screen)
t.speed(0)
t.hideturtle()
def spiral(len, angle):
for current in range(1, int(len)):
thetext = 'Currently turning '+str(a)+' degrees, then moving '+str(current)+' pixels'
textitem = screen.create_text(-250, -250, text=thetext, anchor='nw', font=('Purisa', 12))
t.forward(current)
t.left(int(angle))
screen.delete(textitem)
t.up()
t.goto(0, 0)
t.down()
a, b = random.randint(-360, 360), 100
t.clear()
spiral(b, a)
tk.destroy()
print 'Still running'
time.sleep(1)
print 'Still running'
new = Toplevel()
newscreen = Canvas(new, width=500, height=500)
newscreen.pack()
t2 = turtle.RawTurtle(newscreen)
t2.fd(10)
如您所见,使用RawTurtle,我们可以创建和销毁 tkinter 窗口,其中包含用作海龟窗口的画布。如第一个窗口所示,另一个优点是您可以创建文本,就像在 tkinter 画布上一样。这段代码在 python 2.7 中工作,它可能需要一些小的修改才能在 python 3 中工作,我不知道。无论如何,在这个例子中,我们随意创建和销毁了海龟窗口。该程序的主要部分是
tk = Toplevel()
screen = Canvas(tk, width=500, height=500)
screen.pack()
t = turtle.RawTurtle(screen)
创建一个新的海龟窗口,以t作为海龟,
tk.destroy()
这将在不停止程序的情况下杀死海龟窗口。希望这会有所帮助!
【讨论】: