如何在Tkinter中自动生成按钮名称?

时间:2016-10-13 21:20:18

标签: python tkinter

所以我正在制作一个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

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(或packplace),因为它们会返回None。如果您在同一语句中执行此操作(例如:Button(...).grid(...)),则保存的值为None,而不是按钮的实例。