【发布时间】:2021-04-01 09:46:20
【问题描述】:
我有一个问题,我使用循环创建了一个按钮表,并将按钮的名称保存在一个列表中,现在我想在单击一个按钮时更改按钮的文本。 我不知道怎么做。
这是我创建表的循环
def grid(n):
i = n*n
for widget in LeftFrame.winfo_children():
widget.destroy()
for i in range(n):
for row in range(n):
for col in range(n):
button = Button(LeftFrame, text=' ', width=12, height=6, command=lambda: checker(button, i))
button.grid(row=row, column=col)
button_identities.append(button)
这是点击按钮的功能
def checker(buttons, i):
print(i)
global click, button_identities
print(button_identities)
bname = (button_identities[i])
print(bname)
if buttons["text"] == ' ' and click == True:
buttons["text"] = 'X'
click = False
# scorekeeper()
elif buttons['text'] == ' ' and click == False:
buttons['text'] = 'O'
click = True
# scorekeeper()
有一种方法可以从最后一个函数中的按钮名称中检查文本
【问题讨论】:
-
你现在不能,你必须创建一个类来存储这些按钮,因为它们都必须是独立的,或者至少它会更容易
-
对不起,不知道如何让它们独立于一个类,我该怎么做?