पायथन टिंकर: बटन बदलने के रंग ग्रिड? - अजगर, बटन, tkinter, ग्रिड

मैं समझता हूं कि आप एक बटन बना सकते हैं जो कर सकता हैTkinter के साथ क्लिक करते समय कुछ क्रियाएं करें, लेकिन क्लिक करने पर मैं एक बटन से दूसरे रंग में कैसे बदल सकता हूं? फिर, उस से, मैं उस बटन को दोहराने के लिए कैसे दोहरा सकता हूं? मैं बटन के ग्रिड के लिए भी व्यवस्थित होता हूं जो सिर्फ एक चरित्र से दूसरे में बदल जाता है।

उत्तर:

उत्तर № 1 के लिए 1
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()

संबंधित सवाल
सबसे लोकप्रिय