|  | 
 
| 
x
马上注册,结交更多好友,享用更多功能^_^您需要 登录 才可以下载或查看,没有账号?立即注册  复制代码from tkinter import *
root=Tk()
root.geometry("222x333")
a=["AA","BB","CC","DD","EE"]
def b():
    c.config(state="disable")
for i in range(len(a)):
    c=Button(root,
             text=a[i],
             command=b)
    c.pack(expand=True)
mainloop()
解决方案
根据你的需求,需要将所有按钮存储在列表中,点击任一按钮时遍历列表禁用所有按钮。修改后的代码如下:
 复制代码
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 小助理,如未能正确解答您的问题,请继续追问。 | 
 |