Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Python Turtle window with scrollbars

I am new to Python, and have written a simple program in Python 2.7 using turtle graphics, which draws a fractal shape. The problem I have is that the turtle window doesn't have scrollbars, so if the shape is too large for the window, it is impossible to see all of it. Have googled but found no answer. Can anyone help?

like image 609
nixey26 Avatar asked Feb 06 '13 13:02

nixey26


2 Answers

You don't need to call Tkinter functions directly to get scrollbars in turtle. You just need to call turtle.screensize and set a screen size that's larger than the display window in at least one of its dimensions. I find it most convenient to open the display window at its default size and let the user resize it, if desired.

Here's a short demo:

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()
like image 94
PM 2Ring Avatar answered Sep 18 '22 23:09

PM 2Ring


Finally found some code at http://www.python-forum.de/viewtopic.php?f=1&t=24823&start=0 which provides a scrolled canvas for the turtle:

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()
like image 29
nixey26 Avatar answered Sep 19 '22 23:09

nixey26