Apr-25-2020, 08:48 PM
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.
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()