Buttons in Schleife mit eigener Funktion
Verfasst: Samstag 17. September 2011, 19:05
Hallo Leute!
Ich möchte in meinem Programm eine Art Schachfeld aus Buttons darstellen. Dazu habe ich zwei Schleifen:
Das funktioniert auch soweit, jedoch wird la4text IMMER mit "4 - 4" ausgegeben, egal auf welchen Button ich klicke. Ich vermute, dass die Funktion buttonClick immer mit den Parametern des zuletzt erstellten Buttons aufgerufen wird.
Wie schaffe ich es, dass die Funktion buttonClick erkennt von welchem Button sie aufgerufen wurde?
Ich bin schon ziemlich am verzweifeln, also vielen Dank für Hilfe!
Ich möchte in meinem Programm eine Art Schachfeld aus Buttons darstellen. Dazu habe ich zwei Schleifen:
Code: Alles auswählen
columns=5
rows=5
self.x_and_y_list = []
for y_range in range(0,rows):
self.x_list = []
for x_range in range(0,columns):
bu=Button(fenster,text="", command=lambda:self.buttonClick(x_range,y_range))
bu.place(x=x_range*20+20, y=y_range*20+20, width=20, height=20)
bu ["bg"] = "lightblue"
self.x_list.append(bu)
self.x_and_y_list.append(self.x_list)
def buttonClick(self,x,y):
self.la4text.set(str(x) + " - " + str(y))
Wie schaffe ich es, dass die Funktion buttonClick erkennt von welchem Button sie aufgerufen wurde?
Ich bin schon ziemlich am verzweifeln, also vielen Dank für Hilfe!