在代码中,可以使用一个全局变量来存储按钮点击的状态,当任何一个按钮被点击时,都会修改这个全局变量的值。然后,可以通过监听这个全局变量的变化来更新所有按钮的状态。
以下是一个示例代码:
from tkinter import *
def button_click():
global all_buttons_clicked
all_buttons_clicked = True
def update_buttons():
for button in buttons:
if all_buttons_clicked:
button.config(state=DISABLED)
else:
button.config(state=NORMAL)
root = Tk()
all_buttons_clicked = False
button1 = Button(root, text="Button 1", command=button_click)
button1.pack()
button2 = Button(root, text="Button 2", command=button_click)
button2.pack()
button3 = Button(root, text="Button 3", command=button_click)
button3.pack()
buttons = [button1, button2, button3]
root.after(100, update_buttons)
root.mainloop()
在上面的代码中,首先定义了一个全局变量all_buttons_clicked
,初始值为False。然后定义了一个button_click
函数,用于处理按钮点击事件,这个函数将all_buttons_clicked
的值设置为True。接下来定义了一个update_buttons
函数,用于更新所有按钮的状态。在这个函数中,通过遍历buttons
列表,判断all_buttons_clicked
的值来设置按钮的状态。最后,使用root.after
函数将update_buttons
函数定时执行,这样每隔100毫秒就会检查一次all_buttons_clicked
的值并更新按钮状态。
这样,当任何一个按钮被点击时,所有按钮都会变为不可点击状态。