所以我正在制作一个3x3按钮的网格,用于制作Tic Tac Toe游戏,我想结束这样当按下按钮时它变为X或O,但是我不知道如何给每个按钮一个唯一的标识符,以便我知道要更改哪个按钮。
这是按钮的代码。
num=1
for row in range(3):
for column in range(3):
Button(TTTGrid,bg="#ffffff", width=20,height = 6, command=lambda row=row, column=column: TTTGridPress(row, column),relief=SUNKEN).grid(row=row, column=column, sticky=W)
num=num+1
答案 0 :(得分:1)
使用字典或列表。例如:
buttons = {}
for row in range(3):
for column in range(3):
buttons[(row, column)] = Button(...)
buttons[(row, column)].grid(...)
稍后,您可以参考第2行第1列中的按钮:
buttons[(2 1)].configure(...)
注意:您需要在单独的声明中致电grid
(或pack
或place
),因为它们会返回None
。如果您在同一语句中执行此操作(例如:Button(...).grid(...)
),则保存的值为None
,而不是按钮的实例。