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! |