解决方案
根据你的需求,需要将所有按钮存储在列表中,点击任一按钮时遍历列表禁用所有按钮。修改后的代码如下:
from tkinter import *
root = Tk()
root.geometry("222x333")
# 按钮文本列表(这里补充了缺失的按钮文本)
a = ["按钮1", "按钮2", "按钮3", "按钮4"] # 添加你需要的按钮文本
buttons = [] # 用于存储所有按钮的列表
def disable_all():
for btn in buttons:
btn.config(state="disabled") # 正确状态参数是"disabled"
for text in a:
c = Button(root,
text=text,
command=disable_all)
c.pack(expand=True)
buttons.append(c) # 将按钮添加到列表
mainloop()
主要修改说明:
- 添加了按钮文本列表 a = ["按钮1", "按钮2"...]
- 创建了按钮列表 buttons 存储所有按钮对象
- disable_all() 函数会遍历禁用所有按钮
- 将循环变量改为 text 直接遍历文本列表更直观
- 修正了state参数应为 "disabled"(原代码中的"disable"是错误写法)
效果:点击任意按钮后,所有按钮都会变为灰色不可用状态。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |