2 回答
TA贡献1993条经验 获得超5个赞
这是因为当按钮被禁用时 tkinter 没有控制,所以它没有更新。例如,您需要button.update()在禁用后调用以强制更新:
def button_click():
button["state"] = DISABLED
button.update() # force the update
print("button clicked! Please wait 1 second...")
time.sleep(1)
button["state"] = NORMAL
但是,最好使用after()而不是time.sleep():
def button_click():
button["state"] = DISABLED
print("button clicked! Please wait 1 second...")
# enable the button after one second
button.after(1000, lambda: button.config(state='normal'))
TA贡献1827条经验 获得超4个赞
也许您忘记了代码末尾的“root.mainloop”。
import time
from tkinter import *
def button_click():
button["state"] = DISABLED
print("button clicked! Please wait 1 second...")
time.sleep(1)
button["state"] = NORMAL
root = Tk()
button = Button(root, text="Click Me!", command=button_click)
button.pack()
root.mainloop()
这对我有用。您只能每 1 秒按下一次按钮。
添加回答
举报