ich befasse mich seit einiger Zeit mit Python, habe aber erst vor kurzem angefangen einige Dinge mit Tkinter zu testen. Dabei bin ich auf ein Problem gestoßen, dass ich auch durch Google/Forum nicht lösen konnte, evtl kann mir hier ja jemand helfen:
Was ich erstellen möchte ist ein Fenster mit so vielen Checkboxen, wie ich Namen in einer Liste habe.
--> geht mit einer for schleife und mit tk.Variable() kann ich auch auslesen, welches Element aktiviert ist.
Jetzt möchte ich einzelne Checkboxen ausblenden. Also ich drücke auf einen Knopf worauf dann alle ausgewählten checkboxen ausgeblendet werden. mit .pack_forget() kann ich leider nur die letzte Checkbox ausblenden.
Ich würede mich sehr freuen wenn mir jemand sagen könnte wie ich dies bewerkstelligen kann.
Danke und beste Grüße
Basti
Code: Alles auswählen
import tkinter as tk
liste = ["a","b","c","d","e"]
enable ={}
def ende():
main.destroy()
def forget():
cb.pack_forget()
def button2():
cb.pack()
# Hauptfenster
main = tk.Tk()
b_ende = tk.Button(main, text="Ende", command=ende)
b_ende.pack()
b = tk.Button(main, text="eintrag2", command=forget)
b.pack()
b2 = tk.Button(main, text="eintrag2", command=button2)
b2.pack()
for element in liste:
print (liste)
print(element)
enable[element] = tk.Variable()
cb = tk.Checkbutton(main, text=element , variable=enable[element])
enable[element].set(0)
cb.pack()
main.mainloop()