Inter_turtle_Ulgrid.py
############################ 
# PyTurtleUI ver           # 
# ver. 2,0                 # 
# by Bartek F.             # 
############################ 
 
 
import turtle 
import tkinter as tk 
from tkinter import * 
 
win = tk.Tk() 
win.title("PyTurtleUI ver. 2.0 by Bartek F.") 
canvas = tk.Canvas(win, width=500, height=500) 
canvas.grid(row=0, column=0, columnspan=3) 
t = turtle.RawTurtle(canvas) 
 
var = IntVar() 
var1 = StringVar() 
 
 
def forward(): 
    t.forward(100) 
 
 
def back(): 
    t.back(100) 
 
 
def left(): 
    t.left(90) 
 
 
def right(): 
    t.right(90) 
 
 
def PenUp(): 
    t.penup() 
 
 
def PenDown(): 
    t.pendown() 
 
 
def Turtle(): 
    t.shape("turtle") 
 
 
def Classic(): 
    t.shape("classic") 
 
 
def Reset(): 
    t.reset() 
    t.home() 
 
 
def Pozycja(): 
    pozycja = str(t.pos()) 
    t.write('Pozycja = %s' % pozycja, False, align="center", font=("Arial", 8, "normal")) 
 
 
# func spiral 
def SpiralLoop(): 
    num = var.get() 
    var1.set('zostanie wykonane ' + str(num) + ' petli') 
    for i in range(num): 
        t.circle(5 * i + 5) 
        t.circle(-5 * i - 5) 
        t.left(i) 
        var1.set('pętla numer: ' + str(i + 1)) 
 
def StarLoop(): 
    num = var.get() 
    var1.set('zostanie wykonane ' + str(num) + ' petli') 
    for i in range(num): 
        t.forward(75) 
        t.left(140) 
        t.forward(75) 
        var1.set('pętla numer: ' + str(i + 1)) 
 
 
# kierunki 
tk.Button(win, text="Forward", command=forward).grid(row=1, column=0) 
tk.Button(win, text="Left", command=left).grid(row=2, column=0, sticky='W') 
tk.Button(win, text="Right", command=right).grid(row=2, column=0, sticky='E') 
tk.Button(win, text="Back", command=back).grid(row=3, column=0) 
 
# Spiral Loop 
tk.Scale(win, from_=0, to=20, orient='horizontal', variable=var).grid(row=1, column=1) 
tk.Button(win, text="Spiral Loop", command=SpiralLoop).grid(row=2, column=1) 
tk.Button(win, text="Star Loop", command=StarLoop).grid(row=3, column=1) 
label1 = tk.Label(win, text='', textvariable=var1).grid(row=4, column=1, sticky='S') 
 
# do ustawienie >>> 
tk.Button(win, text = "Pozycja", padx=20, command = Pozycja).grid(row=5, column=0, sticky='W') 
tk.Button(win, text = "PenUp", padx=10, command = PenUp).grid(row=5, column=1, sticky='WS') 
tk.Button(win, text = "PenDown", padx=10, command = PenDown).grid(row=5, column=1, sticky='SE') 
tk.Button(win, text = "Classic", padx=10, command = Classic).grid(row=3, column=3, sticky='SE') 
tk.Button(win, text = "Turtle", padx=10, command = Turtle).grid(row=3, column=2, sticky='S') 
tk.Button(win, text = "Reset!", padx=10, command=Reset).grid(row=5, column=2, sticky='S') 
tk.Button(win, text = "Quit", padx=15, command=win.quit).grid(row=5, column=3, sticky='E') 
win.mainloop()