Ich möchte gern auf meinem TKinter Bildschirm mehrere Buttons erstellen. Deren Anzahl hängt davon ab, wieviele Elemente eine Liste hat, und die Buttons kriegen auch den Namen dieser Liste. Allerdings sollten das alles StringVar() sein, da ich die dynamisch ändern möchte.
Meine erste Idee war, das mit einer Liste zu machen die ich mit Buttons fülle.
z.b
Code: Alles auswählen
import Tkinter as Tk
liste1 = ['a','b','c']
root = Tk.Tk()
buttons = []
btext = []
for i in liste1:
btext.append(Tk.StringVar())
btext[-1].set(i)
buttons.append(Tk.Button(root,text=btext[-1].get()))
buttons[-1].pack()
Tk.mainloop()
Wenn ich dann aber noch sowas wie btext[0].set('test') mache, ist die Idee das sich der Text auf dem ersten Button ändert. Das passiert jedoch nicht.
Könnt ihr mir sagen warum, oder einen besseren Ansatz liefern?
Thx.