python

时间:2016-09-24 19:17:59

标签: python tkinter

我正在使用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:我不能在这里使用课程。

0 个答案:

没有答案