【发布时间】:2013-01-21 17:37:10
【问题描述】:
我是 Python 新手,在 Python 2.7 中使用海龟图形编写了一个简单的程序,它可以绘制分形形状。我遇到的问题是乌龟窗口没有滚动条,所以如果窗口的形状太大,就不可能看到所有的东西。谷歌搜索但没有找到答案。有人可以帮忙吗?
【问题讨论】:
-
它appears to be possible添加滚动条,但它需要一些Tkinter知识。
我是 Python 新手,在 Python 2.7 中使用海龟图形编写了一个简单的程序,它可以绘制分形形状。我遇到的问题是乌龟窗口没有滚动条,所以如果窗口的形状太大,就不可能看到所有的东西。谷歌搜索但没有找到答案。有人可以帮忙吗?
【问题讨论】:
您不需要直接调用 Tkinter 函数来获取 turtle 中的滚动条。您只需要调用turtle.screensize 并设置屏幕尺寸,使其至少在其中一个尺寸上大于显示窗口。我发现以默认大小打开显示窗口并让用户根据需要调整其大小是最方便的。
这是一个简短的演示:
import turtle
win_width, win_height, bg_color = 2000, 2000, 'black'
turtle.setup()
turtle.screensize(win_width, win_height, bg_color)
t = turtle.Turtle()
#t.hideturtle()
#t.speed(0)
t.color('white')
for _ in range(4):
t.forward(500)
t.right(90)
turtle.done()
【讨论】:
终于在http://www.python-forum.de/viewtopic.php?f=1&t=24823&start=0找到了一些代码,它为海龟提供了一个滚动的画布:
import turtle
import Tkinter as tkinter
root = tkinter.Tk()
root.geometry('500x500-5+40') #added by me
cv = turtle.ScrolledCanvas(root, width=900, height=900)
cv.pack()
screen = turtle.TurtleScreen(cv)
screen.screensize(2000,1500) #added by me
t = turtle.RawTurtle(screen)
t.hideturtle()
t.circle(100)
root.mainloop()
【讨论】: