![]() |
|
tkinter window and turtle window error - Printable Version +- Python Forum (https://python-forum.io) +-- Forum: Python Coding (https://python-forum.io/forum-7.html) +--- Forum: GUI (https://python-forum.io/forum-10.html) +--- Thread: tkinter window and turtle window error (/thread-22156.html) |
tkinter window and turtle window error - 1885 - Nov-01-2019 I have a simple tkinter menu example that opens a new window on click. When the Turtle window is opened it works fine the first time. But when closed and opened again. I get the following error and the turtle does not draw. I need to figure out how to remove the turtle on exit some how. $ python menu1.py
circle
Exception in Tkinter callback
Traceback (most recent call last):
File "/usr/lib/python3.7/tkinter/__init__.py", line 1705, in __call__
return self.func(*args)
File "menu1.py", line 54, in turtle1
t = turtle.Turtle()
File "/usr/lib/python3.7/turtle.py", line 3816, in __init__
visible=visible)
File "/usr/lib/python3.7/turtle.py", line 2557, in __init__
self._update()
File "/usr/lib/python3.7/turtle.py", line 2660, in _update
self._update_data()
File "/usr/lib/python3.7/turtle.py", line 2646, in _update_data
self.screen._incrementudc()
File "/usr/lib/python3.7/turtle.py", line 1292, in _incrementudc
raise Terminator
turtle.TerminatorAny ideas?from tkinter import *
import turtle
root = Tk()
def circle(t,x,y):
print("circle")
t.down()
t.color("#ff0000")
for i in range (0,20):
t.forward(10)
t.rt(18)
def turtle1():
x = 0; y = 0
w = turtle.Screen()
w.setup(1000, 700)
w.clear()
w.bgcolor("#ffffff")
t = turtle.Turtle()
circle(t,x,y)
w.exitonclick()
def newWin1(): # new window definition
newwin = Toplevel(root)
display = Label(newwin, text="Window 1")
display.pack()
def newWin2(): # new window definition
newwin = Toplevel(root)
display = Label(newwin, text="Window 2")
display.pack()
button1 =Button(root, text ="Window 1", command =newWin1)
button2 =Button(root, text ="Window 2", command =newWin2)
button3 =Button(root, text ="Turtle Window", command =turtle1)
button1.pack()
button2.pack()
button3.pack()
root.mainloop()
RE: tkinter window and turtle window error - nilamo - Nov-01-2019 Try turtle.reset(): https://docs.python.org/3/library/turtle.html#turtle.resetI was able to close and re-open the window by calling reset before re-opening the window, so hopefully that helps. RE: tkinter window and turtle window error - balenaucigasa - Nov-01-2019 from tkinter import *
import turtle
def circle(t,x,y):
print("circle")
t.down()
t.color("#ff0000")
for i in range (0,20):
t.forward(10)
t.rt(18)
def turtle1():
try:
turtle.TurtleScreen._RUNNING = True
x = 0; y = 0
w = turtle.Screen()
w.setup(800, 700)
w.title("Welcome to the turtle zoo!")
w.clear()
w.bgcolor("#ffffff")
w.visible = True
t = turtle.Turtle()
circle(t,x,y)
w.exitonclick()
finally:
turtle.Terminator()
def newWin1(): # new window definition
newwin = Toplevel()
display = Label(newwin, text="Window 1")
display.pack()
def newWin2(): # new window definition
newwin = Toplevel()
display = Label(newwin, text="Window 2")
display.pack()
def main():
root = Tk()
import sys
print(sys.version)
button1 =Button(root, text ="Window 1", command =newWin1)
button2 =Button(root, text ="Window 2", command =newWin2)
button3 =Button(root, text ="Turtle Window", command =turtle1)
button1.pack()
button2.pack()
button3.pack()
root.mainloop()
if __name__ == '__main__':
main()windows 8.1 , python 3.7.4
RE: tkinter window and turtle window error - 1885 - Nov-02-2019 Thank You balenaucigasa and nilamo ! Both posts helped! |