我有一个字典列表,格式如下:
dict_list = [{'Contact Name' : 'Jeff Bezos', 'Email' : 'Jeff@Amazon.com', 'Send' : 0},
{'Contact Name' : 'Bill Gates', 'Email' : 'Bill@Microsoft.com', 'Send' : 0}]
我目前使用Tkinter显示每个名字:
for eachclient in dict_list:
contactLabel = Label(text='Contact Name: ' + eachclient['Contact Name'])
emailLabel = Label(text='Contact Email: ' + eachclient['Email'])
我需要一个Tkinter复选框,可以修改'发送'对于dict_list中的每个条目 我还将添加一个发送按钮,仅在选中该复选框时才会发送 (发送按钮将调用像:)这样的命令。
def buttonCheck():
for eachclient in dict_list:
if eachclient 'Send' = 1:
send the message
else:
skip this client
这可能吗?我非常感谢能得到的任何帮助!
答案 0 :(得分:0)
复选框本身可以是for
循环的一部分,最后是:
checkbox = Button(text=str(check), command=checkemail, width=2)
# The str(check) part is for rows.
N.B。按钮本身必须在网格中,类似于此。
使用cget
方法(请参阅this获取解释,并参阅this获取示例),该复选框的功能可能如下所示:
def checkemail(): # Using an example function name
x = int(checkbox.cget("text")) # Gets the row number (check)
dict_list[x]['Send'] = 1 # Changes the value of 'Send' for the contact to 1
我希望这有用!