我正在使用Tkinter在python 2.7中的战舰游戏中工作,但我有一点问题。我希望当我在网格中按下一个按钮时,它会改变背景,但是在我的代码中,当我按下任何按钮时,唯一改变的是最后一个(索引99)这是网格的屏幕截图{{3 }}
from Tkinter import *
def positioningShips(matrixButtons, button):
if button == None:
for i in range(100):
matrixButtons[i].config(command= lambda: positioningShips(matrixButtons, matrixButtons[i]))
else:
button.config(bg="black")
def grid(gridWindow):
row1 = 1
column1 = 1
matrixButtons = []
for i in range(100):
matrixButtons.append(Button(gridWindow,text="",width=6,height=3))
matrixButtons[i].grid(row= row1,column= column1)
matrixButtons[i].config(bg="steel blue", command= lambda: positioningShips(matrixButtons, None))
if column1%10==0 and column1 != 1:
row1+=1
column1 = 1
else:
column1+=1
def Battleship():
gridWindow = Tk()
gridWindow.title("Battleship")
gridWindow.resizable(0,0)
grid(gridWindow)
gridWindow.mainloop()
if __name__ == "__main__":
Battleship()
希望你能帮助我们。
pd:我不能在这里使用课程。