Я хочу, чтобы кнопка запускала команду, затем была отключена во время выполнения и снова включена после завершения выполнения.
Когда я нажимаю кнопку, она кажется отключенной, и команда выполняется.Но когда я нажимаю кнопку, когда она отключена, команда выполняется второй раз после завершения первого выполнения.
Кажется, что после второго щелчка кнопка действительно отключена, потому что я могу нажать несколько раз, пока она отключена, и она повторяется только один раз.
import tkinter as tk
import time
class Button:
def __init__(self, master):
frame=tk.Frame(master)
frame.pack()
self.button1=tk.Button(frame, text="Ready",bg="green", fg="white", command=self.click)
self.button1.pack()
def click(self):
self.button1.config(bg="red", text="Busy", state="disabled")
self.button1.update()
doSth()
self.button1.config(bg="green", fg="white", text="Ready", state="normal")
self.button1.update()
def doSth():
time.sleep(3)
print("done")
root = tk.Tk()
b = Button(root)
root.mainloop()