Ich habe derzeit ein Raster von Schaltflächen mit Zeilen und Spalten (mit einer for-Schleife) und möchte in der Lage sein, auf eine dieser Schaltflächen klicken und es zurück, zum Beispiel, a1 angeklickt wird. Wie kann ich die Schaltfläche identifizieren? Ich klicke auf das Raster mit einer verschachtelten Liste von Namen? Python - .Tkinter
import tkinter as tk
#list I need that attributes grid index to button name
#seats=[["A", "a1", "a2", "a3", "a4", "a5"]["B", "b1", "b2", "b3", "b4", "b5"]["C", "c1", "c2", "c3", "c4", "c5"], ["D", "d1", "d2", "d3", "d4", "d5"]]
def make_buttons():
for r in range(10):
for c in range(10):
btn = tk.Button(root, text="Empty")
btn['command'] = lambda c=c, r=r, b=btn:red_click(c, r, b)
btn.grid(row=r,column=c)
def red_click(c, r, btn):
print(btn, "clicked!")
btn.configure(bg="red")
root = tk.Tk()
make_buttons()
root.mainloop()
Ich erwarte, dass es mir zurück, welche Schaltfläche geklickt wurde. Ich habe versucht, es so zu machen, dass es es druckt, aber ich kann nicht sicher Tasten identifizieren, wie es zeigt, d.
Sie können den Text auf die gleiche Weise übergeben, wie Sie die Zeilen-, Spalten- und Schaltflächeninstanz übergeben haben. – Novel
senden Sie Text als Argument an 'red_click'. Wenn es Text auf Knopf ist, können Sie 'btn ['Text']' – furas
BTW bekommen: die Funktion, die Knopf zugewiesen wird, kann nichts zurückbringen - es kann nur auf Bildschirm anzeigen oder Wert globaler Variable zuweisen. – furas