如何关闭并重新打开Python中的龟屏幕
问题描述:
请引导我吗?绘制出正方形后,如何关闭屏幕然后重新打开?如何关闭并重新打开Python中的龟屏幕
import turtle
win = turlte.Screen()
Man = turtle.Turtle()
for i in range(4):
Man.fd(100)
Man.right(90)
答
如果您使用的Tkinter与turtle.RawTurtle(canvas)
,您可以访问所有的Tkinter的职能,RawTurtle
需要canvas
作为一个参数,它是一个Tkinter的Canvas对象。在这种情况下,您可以创建一个新的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()
这将杀死海龟窗口无需停止程序。希望这可以帮助!
从您的问题中不清楚您是否希望重新打开的窗口具有相同的内容。这个例子不会那样做,那会更复杂。 – 2015-04-04 00:27:51
我知道你发布这张专辑已经很长时间了,但我可以问为什么会有另一个窗口在画布旁边打开,我该如何解决这个问题? – Sank6 2017-05-30 17:33:07
@ Sank6你是指另一个窗口是什么意思? – 2017-05-30 17:34:09