ich habe mir ein kleines Programm ausgedacht, mit dem ich in einer Funktion Checkboxen erstelle. Die Funktion liefert ein mehrdimensionales Array zurück, bei dem jede Zeile aus den Werten "widgethandler, variablehandler und bezeichner" besteht. Diese drei Informationen brauchte ich in meinem nachfolgenden Programm, um verschiedene Aktionen damit durchzuführen.
Code: Alles auswählen
import tkinter
from functools import partial
def create_buttons (window_handler, entries=[], **options):
return_value=[]
for entry in entries:
print (entry)
widget_var=tkinter.BooleanVar()
widget=tkinter.Checkbutton (window_handler,
variable=widget_var,
text=entry,
**options)
return_array=[widget, widget_var, entry]
return_value.append (return_array)
return return_value
def set_all (handlerlist, state):
for handler in handlerlist:
handler[1].set (state)
def main():
root = tkinter.Tk()
# root.
entry_buttons = ["Button 1", "Button 2", "Button 3", "Button 4", "Button 5", "Button 6"]
button_array = create_buttons(root,
entry_buttons
)
abort_button = tkinter.Button (root, text="Beenden", command=root.quit )
abort_button.pack()
all_button = tkinter.Button (root, text="Alle", command=partial(set_all, button_array, True))
all_button.pack()
no_button = tkinter.Button (root, text="Keine", command=partial(set_all, button_array, False))
no_button.pack()
for element in button_array:
print ("Elementbezeichner: %s " % str(element[2]) )
element[0].pack()
root.mainloop()
if __name__ == '__main__':
main()
Code: Alles auswählen
widget=tkinter.Checkbutton (window_handler,
variable=widget_var,
text=entry,
**options)