У меня есть простой графический интерфейс пользователя tkinter, который отображает переключатель и кнопки отмены.Когда нажата кнопка «ОК», я хочу продолжить выполнение моей программы, а затем через 5 секунд закрыть окно.
import tkinter as tk
from tkinter.ttk import *
gui = tk.Tk()
gui.geometry('330x150')
# set up radio buttons
selected = tk.IntVar() # selected holds radio button currently selected
def ok_clicked():
gui.after(5000, lambda : gui.destroy())
#run stuff while waiting for the gui to close
if selected.get() == 0:
# run HS
import Open_HS
else:
# run KA
import Open_KA
def cancel_clicked():
gui.destroy()
hs_btn = Radiobutton(gui, width=15, text="Radio 1", value=0,variable=selected).place(x=50, y=40)
ok_btn = Button(gui, width=9, text="OK", command=ok_clicked).place(x=180, y=115)
cancel_btn = Button(gui, width=9, text="Cancel", command=cancel_clicked).place(x=250, y=115)
gui.mainloop()
Это, очевидно, не работает, потому что я звоню
gui.mainloop.
до того, как я установил задержку с помощью
gui.after(5000, lambda : gui.destroy())
, но как это исправить?
Спасибо