I have a list of multiple strings. I want the user to choose one or more of these strings through a GUI interface. For example, if my list is l = ["apple", "ball", "cat", "dog"]
, I want the GUI to show
□ apple □ ball □ cat □ dog
I also want to read the inputs given by the user. How can I generate checkboxes for each of these strings dynamically and read the inputs given by the user using tkinter?
Advertisement
Answer
Try this:
import tkinter as tk window = tk.Tk() window.title('My Window') window.geometry('100x200') def on_click(): lst = [l[i] for i, chk in enumerate(chks) if chk.get()] print(",".join(lst)) l = ["apple", "ball", "cat", "dog"] chks = [tk.BooleanVar() for i in l] for i, s in enumerate(l): tk.Checkbutton(window, text=s, variable=chks[i]).pack(anchor=tk.W) tk.Button(window, text="submit", command=on_click).pack() window.mainloop()
Result output: