Tkinter GUI freezing, used Thread then encountered RuntimeError: threads can only be started once

Abhay Singh abskumar798 at gmail.com
Tue Jan 10 09:57:57 EST 2023


Here is the entire code snippet of the same.

Please help

def change_flag(top_frame, bottom_frame, button1, button2, button3, button4, controller): global counter, canvas, my_image, chosen, flag, directory canvas.delete('all') button5['state'] = DISABLED counter += 1

chosen, options_text = function_options()
right_answer_flag = get_right_answer_flag(chosen, options_text)
#pdb.set_trace()

try:
    location = directory + chosen + format_image
except:
    controller.show_frame(PlayAgainExit)
    
my_image = PhotoImage(file=location)
canvas.create_image(160, 100, anchor=CENTER, image=my_image)

button1["text"] = options_text[0]
button2["text"] = options_text[1]
button3["text"] = options_text[2]
button4["text"] = options_text[3]

button1['state'] = NORMAL
button2['state'] = NORMAL
button3['state'] = NORMAL
button4['state'] = NORMAL
##############

    button5 = Button(
        next_frame,
        width=20,
        text="next",
        fg="black",
        #command=lambda: change_flag(top_frame,bottom_frame,button1,button2,button3,button4,controller))
        command=Thread(target=change_flag, args =(top_frame,bottom_frame,button1,button2,button3,button4,controller)).start)
        
    button5.pack(side=RIGHT, padx=5, pady=5)

Thanks,
Abhay


More information about the Python-list mailing list