import turtle
win = turlte.Screen()
Man = turtle.Turtle()
for i in range(4):
Man.fd(100)
Man.right(90)
答案 0 :(得分:0)
如果您将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()
将在不停止程序的情况下杀死龟窗。希望这有帮助!