我的问题是例如我有3个按钮(bt1,bt2,bt3)
。我如何使用btn[i]
或其他东西同时改变他们的状态而不用他们的名字来调用它们?
答案 0 :(得分:2)
您可以像这样使用for
循环,它只需要所有按钮并以易于书写的方式禁用它们:
for x in (btn1, btn2, btn3):
x.config(state = 'disabled')
我认为这可以满足您的需求吗?
这是一个完整的例子:
import tkinter as tk
r = tk.Tk()
def disable_all():
d.destroy()
for z in (a, b, c):
z.config(state = 'disabled')
def func(y):
print('you clicked button ', y)
a = tk.Button(text = 'A', command = lambda: func('a'))
b = tk.Button(text = 'B', command = lambda: func('b'))
c = tk.Button(text = 'C', command = lambda: func('c'))
d = tk.Button(text = 'disable all', command = disable_all)
for x in (a, b, c, d):
x.pack()
r.mainloop()
希望这有帮助!