|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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 小助理,如未能正确解答您的问题,请继续追问。
|
|