Python 从列表中创建多个复选框并获取所有值
我想从一个大列表中生成多个复选框,并获取所有值 以下是我目前的代码(列表可能要大得多): 这是预期的,但当它是一个更大的列表时,似乎没有必要把所有这些都写出来Python 从列表中创建多个复选框并获取所有值,python,checkbox,tkinter,Python,Checkbox,Tkinter,我想从一个大列表中生成多个复选框,并获取所有值 以下是我目前的代码(列表可能要大得多): 这是预期的,但当它是一个更大的列表时,似乎没有必要把所有这些都写出来 是否有一种方法仅通过遍历字符串列表来创建复选框/复选按钮(然后获取其值)?是。您需要将数据存储在某个位置。我建议做一本字典 from Tkinter import * INGREDIENTS = ['cheese','ham','pickle','mustard','lettuce'] def print_ingredients(*a
是否有一种方法仅通过遍历字符串列表来创建复选框/复选按钮(然后获取其值)?是。您需要将数据存储在某个位置。我建议做一本字典
from Tkinter import *
INGREDIENTS = ['cheese','ham','pickle','mustard','lettuce']
def print_ingredients(*args):
values = [(ingredient, var.get()) for ingredient, var in data.items()]
print values
data = {} # dictionary to store all the IntVars
top = Tk()
mb= Menubutton ( top, text="Ingredients", relief=RAISED )
mb.menu = Menu ( mb, tearoff = 0 )
mb["menu"] = mb.menu
for ingredient in INGREDIENTS:
var = IntVar()
mb.menu.add_checkbutton(label=ingredient, variable=var)
data[ingredient] = var # add IntVar to the dictionary
btn = Button(top, text="Print", command=print_ingredients)
btn.pack()
mb.pack()
top.mainloop()
from Tkinter import *
INGREDIENTS = ['cheese','ham','pickle','mustard','lettuce']
def print_ingredients(*args):
values = [(ingredient, var.get()) for ingredient, var in data.items()]
print values
data = {} # dictionary to store all the IntVars
top = Tk()
mb= Menubutton ( top, text="Ingredients", relief=RAISED )
mb.menu = Menu ( mb, tearoff = 0 )
mb["menu"] = mb.menu
for ingredient in INGREDIENTS:
var = IntVar()
mb.menu.add_checkbutton(label=ingredient, variable=var)
data[ingredient] = var # add IntVar to the dictionary
btn = Button(top, text="Print", command=print_ingredients)
btn.pack()
mb.pack()
top.mainloop()