0
請引導我嗎?繪製出正方形後,如何關閉屏幕然後重新打開?如何關閉並重新打開Python中的龜屏幕
import turtle
win = turlte.Screen()
Man = turtle.Turtle()
for i in range(4):
Man.fd(100)
Man.right(90)
請引導我嗎?繪製出正方形後,如何關閉屏幕然後重新打開?如何關閉並重新打開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