Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从列表中创建多个复选框并获取所有值_Python_Checkbox_Tkinter - Fatal编程技术网

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()