Я использовал tkinter для создания кнопки и назначил ей функцию с помощью параметра command
. Но эта функция содержит некоторый код, который требует времени для выполнения. Я смоделировал это здесь, используя time.sleep()
. Я хочу удалить эту кнопку, когда эта кнопка нажата. Для этого я вызвал глобальную переменную для кнопки внутри функции, а затем использовал pack_forget()
.
from tkinter import *
import time
def signIn():
global login_button
login_button.pack_forget()
# code after this takes some time to run.
time.sleep(10)
login_screen = Tk()
login_button = Button(login_screen, text="Login", width=10, height=1, command=signIn)
login_button.pack()
login_screen.mainloop()
Но проблема в том, что кнопка удаляется только после завершения выполнения функции (т.е. через 10 секунд). Можно ли как-нибудь удалить кнопку, как только строка pack_forget()
будет выполнена, и не ждать завершения полной функции?