Python Tkinter:按钮的颜色变化网格?

Python Tkinter:按钮的颜色变化网格?,python,button,tkinter,grid,Python,Button,Tkinter,Grid,我知道你可以做一个按钮,当用Tkinter点击时可以做一些动作,但是我怎么能做一个按钮,当点击时从一种颜色变成另一种颜色呢?那么,从这个角度来看,我如何复制这个按钮来制作一个网格呢?我也会满足于一个按钮网格,可以从一个字符切换到另一个字符。非常感谢!是否有任何方法可以使按钮保持活动状态,即使在我选择了另一个按钮之后。我真正想要的是当我点击按钮时可以在两种颜色之间切换的按钮。如果你能帮忙,请试着给我指出正确的方向,而不是给我完整的答案。我还在学习,想自己尝试一些东西! import Tkinter

我知道你可以做一个按钮,当用Tkinter点击时可以做一些动作,但是我怎么能做一个按钮,当点击时从一种颜色变成另一种颜色呢?那么,从这个角度来看,我如何复制这个按钮来制作一个网格呢?我也会满足于一个按钮网格,可以从一个字符切换到另一个字符。

非常感谢!是否有任何方法可以使按钮保持活动状态,即使在我选择了另一个按钮之后。我真正想要的是当我点击按钮时可以在两种颜色之间切换的按钮。如果你能帮忙,请试着给我指出正确的方向,而不是给我完整的答案。我还在学习,想自己尝试一些东西!
import Tkinter

color="red"
default_color="white"

def main(n=10):
    window = Tkinter.Tk()
    last_clicked = [None]
    for x in range(n):
        for y in range(n):
            b = Tkinter.Button(window, bg=default_color, activebackground=default_color)
            b.grid(column=x, row=y)
            # creating the callback with "b" as the default parameter bellow "freezes" its value pointing
            # to the button created in each run of the loop.
            b["command"] = lambda b=b: click(b, last_clicked)
    return window

def click(button, last_clicked):
    if last_clicked[0]:
        last_clicked[0]["bg"] = default_color
        last_clicked[0]["activebackground"] = default_color
    button["bg"] = color
    button["activebackground"] = color
    last_clicked[0] = button

w = main()
Tkinter.mainloop()