Working on a script that that creates a Toplevel window with a variable amount of buttons based on a list of choices. The window has a frame-canvas-frame setup to allow for a vertical scrollbar. When one of the buttons is clicked, it sends information to the main window and I want the toplevel window to close, but using ".destroy()" leaves the window open, blank with the scrollbar. Any help pointing out my mistake is appreciated. P.S. I'm self taught and very much an amateur. import tkinter from tkinter import * from tkinter import ttk from functools import partial placelist = ["99999|123|FAKE ST|44|MADEUP TOWNSHIP","99999|555|NOTAREAL AVE|44|MADEUP TWP"] proj = tkinter.Tk() proj.geometry('500x500') def create_popup_3(): popup3 =tkinter.Toplevel() popup3.geometry("500x500") popup3.title("Choose Result") main_frame = Frame(popup3) main_frame.grid(column=0,row=1) my_canvas = Canvas(main_frame) my_canvas.pack(side = LEFT,fill=BOTH, expand=1) my_scrollbar = tkinter.Scrollbar(main_frame,orient=VERTICAL,command = my_canvas.yview) my_scrollbar.pack(side=RIGHT, fill = Y) my_canvas.configure(yscrollcommand=my_scrollbar.set) second_frame = Frame(my_canvas,width = 400,height = 500) my_canvas.bind('<Configure>', lambda e: my_canvas.configure(scrollregion = my_canvas.bbox("all"))) for option3 in placelist: optionsplit = option3.split('|') placesin = optionsplit[0].strip() s_num = optionsplit[1].strip() s_name = optionsplit[2].strip() twp = optionsplit[3].strip() twp_name = optionsplit[4].strip() button3 = tkinter.Button(second_frame, text= s_num + ' ' + s_name + ', ' + twp_name, command=partial(button_click_3, option3, second_frame)) button3.pack(pady=10) optionwindow = my_canvas.create_window((0,0),window = second_frame, anchor = "nw") def button_click_3(option3, popup3): optionsplit = option3.split('|') munistrin = str(optionsplit[0]).strip() s_name = str(optionsplit[2]).strip() s_num = str(optionsplit[1]).strip() twp = str(optionsplit[3]).strip() Street_Rin.delete(0,END) Street_Rin.insert(0,munistrin) Street_Name.delete(0,END) Street_Name.insert(0,s_name) Street_Address.delete(0,END) Street_Address.insert(0,s_num) Muni_Code.delete(0,END) Muni_Code.insert(0,twp) popup3.destroy() sendbutton = tkinter.Button(text = ' SEND ', command = create_popup_3) sendbutton.pack() Street_Address = Entry(bd=1, width = 7, justify = LEFT, font=("Courier New", 12), textvariable="newadnum") Street_Address.pack() Street_Name = Entry(bd=1, width = 23, font=("Courier New", 12), textvariable="newstr") Street_Name.pack() Apt_No = Entry(bd=1, width = 5, font=("Courier New", 12), textvariable="newapt") Apt_No.pack() Muni_Code= Entry(bd=1, width = 5, font=("Courier New", 12), textvariable="muni") Muni_Code.pack() Street_Rin = Entry(bd=1, width = 7, justify = LEFT, font=("Courier New", 12), textvariable="rin") Street_Rin.pack() proj.mainloop() Continue reading...