带滚动条的Python Turtle窗口

5 投票
2 回答
7327 浏览
提问于 2025-04-17 14:57

我刚开始学Python,写了一个简单的程序,使用turtle图形库来画一个分形图形。我的问题是,turtle窗口没有滚动条,所以如果图形太大,窗口就看不全。虽然我在网上查了很多,但没有找到解决办法。有没有人能帮帮我?

2 个回答

4

我终于在这个网站上找到了一些代码,地址是 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()
5

你不需要直接调用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()

撰写回答