我正在尝试制作井字游戏,我创建了带有for循环的按钮,并将它们按给定的代码保存在字典中-
from tkinter import *
class TicTac():
def __init__(self):
self.window = Tk()
self.window.title('Tic Tac Game')
self.btns = {}
self.buttons()
def change_state(self,button):
if button.cget('text') == '':
button.configure(text = 'X')
def buttons(self):
for i in range(1,4):
for j in range(1,4):
button = self.btns['{x}{y}'.format(x=str(i),y=str(j))] = Button(self.window,text='',width=15,height=7,
command=lambda: self.change_state(button))
button.grid(row=i, column=j)
T = TicTac()
当我单击任何按钮时,最后一个按钮(即9)的文本被更改,并且在打印语句中它仅打印.!button9
而不是被单击的按钮,我想更改已被单击的按钮的文本。点击。