Python Forum
tkinter.TclError: bad window path name
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
tkinter.TclError: bad window path name
#1
Hi all,
I am getting the error _tkinter.TclError: bad window path name ".!toplevel.!frame.!combobox
When I click on the "Columns" button the first time, it opens up a new window no problem.
When I click on the "Exit" button to close out the window and click on the "Columns" button again, I get the bad window error.
It is failing on line 19: column_values[i][j].grid(row=i,column= j)
Below is the code.
Any help would be appreciated.
Thanks in advance.

from tkinter import * from tkinter import ttk import tkinter.font as font def get_columns(field_names): new_window = Toplevel(mw) new_window.wm_title("Select Columns") new_window.geometry('900x500+250+150') frame3 = Frame(new_window) framebot = Frame(new_window) frame3.pack(side=TOP,fill=X) framebot.pack(side=BOTTOM,fill=X) for i in range(0,max_columns): column_values.append([]) j = 0 column_values[i].append(ttk.Combobox(frame3,values=field_names)) column_values[i][j].grid(row=i,column= j) exit_button = Button(framebot,text='Exit',font=("Times",16),command=new_window.destroy).pack(side="right") # Start the main program here if __name__ == "__main__": current_file = __file__ mw=Tk() mw.geometry('900x500+200+150') mw.title(current_file) frame1 = Frame(mw) framebot = Frame(mw) frame1.pack(side=TOP,fill=X) framebot.pack(side=BOTTOM,fill=X) w1 = Label(frame1, text="Database Name: ",font=("Times",16)).pack(side="left") dbase = StringVar() a1 = ttk.Combobox(frame1,width=40,font=("Times",16),textvar=dbase) a1.pack(side="left") field_names = ["A.a","B.b","C.c"] max_columns = 10 column_values = [] btn2 = Button(framebot,text='Columns',font=("Times",16),command=lambda: get_columns(field_names)).pack(side="left") btn6 = Button(framebot,text='Exit',font=("Times",16),command=mw.quit).pack(side="right") mw.mainloop()
Reply
#2
Please post complete unaltered error traceback. It contains information that is very useful in determining cause of error.
Reply
#3
The problem is caused by you making a new window each time the Columns button is pressed. Though wasteful and potentially confusing, this would work if you also reset the column_values array.

I added some comments below to point out the problem spots.
def get_columns(field_names): new_window = Toplevel(mw) new_window.wm_title("Select Columns") new_window.geometry('900x500+250+150') frame3 = Frame(new_window) framebot = Frame(new_window) frame3.pack(side=TOP,fill=X) framebot.pack(side=BOTTOM,fill=X) for i in range(0,max_columns): column_values.append([]) # 2nd time around column_values is not empty j = 0 # 2nd time around column_values[0] holds two combo boxes, one which doesn't exist # anymore because you deleted it. column_values[i].append(ttk.Combobox(frame3,values=field_names)) # column_values[0][0] is the deleted combo box column_values[i][j].grid(row=i,column= j) exit_button = Button(framebot,text='Exit',font=("Times",16),command=new_window.destroy).pack(side="right")
Reply
#4
Thanks for your responses. I added "column_values.clear()" before the for loop and that seems to have fixed the problem.
Thanks.
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  Tkinter multiple windows in the same window hosierycouch 1 1,928 May-30-2024, 04:28 AM
Last Post: deanhystad
  Interaction between Matplotlib window, Python prompt and TKinter window NorbertMoussy 3 3,900 Mar-17-2024, 09:37 AM
Last Post: deanhystad
  [Tkinter] CTkScrollableDropdown error: bad window path name ".!ctkscrollabledropdown" CopperGenie 1 2,499 Mar-03-2024, 04:32 AM
Last Post: deanhystad
  [Tkinter] (CLOSED) CTkScrollableDropdown error: bad window path name ".!ctkscrollabledropdown" CopperGenie 4 3,629 Mar-03-2024, 03:21 AM
Last Post: CopperGenie
  Tkinter multiple windows in the same window tomro91 1 2,860 Oct-30-2023, 02:59 PM
Last Post: Larz60+
  Centering and adding a push button to a grid window, TKinter Edward_ 15 20,473 May-25-2023, 07:37 PM
Last Post: deanhystad
  tkinter.TclError: can't invoke "canvas" command cybertooth 8 13,464 Feb-23-2023, 06:58 PM
Last Post: deanhystad
  [Tkinter] tkinter.TclError: expected integer but got " " TWB 2 7,554 Feb-19-2023, 05:11 PM
Last Post: TWB
  [Tkinter] Open tkinter colorchooser at toplevel (so I can select/focus on either window) tabreturn 4 4,373 Jul-06-2022, 01:03 PM
Last Post: deanhystad
  [Tkinter] Background inactivity timer when tkinter window is not active DBox 4 6,632 Apr-16-2022, 04:04 PM
Last Post: DBox

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020
This forum uses Lukasz Tkacz MyBB addons.
Forum use Krzysztof "Supryk" Supryczynski addons.