[英]Print Dictionary in Python ttk
我需要在ttk中显示一个python字典。 因此,当前用户输入值并将其存储在字典中,每次输入后,字典将使用新值进行更新。 我想将这些值打印在一个整洁的垂直列中。 每次用户输入时,更新列底部的新值。
我知道此方法,但不知道如何将其映射到TK:
>>> D = {'d1': {'a':'1'}, 'd2': {'b':'2'}, 'd3': {'c':'3'}}
>>> for k, d in D.items():
print k, d
d2 {'b': '2'}
d3 {'c': '3'}
d1 {'a': '1'}
这样的问题是,如果我在我的TTK标签小部件上设置了“ print k,d”,则它将在每次通过小部件时仅对其进行更新,而实际上仅显示它所运行的最后一个变量。
那么,如何在更新时在每个行上显示每个值/键的字典,而不是“忘记”以前的值呢?
做一个字符串。 然后将其设置为标签的文本。
例如:
from Tkinter import * # Python 3.x: from tkinter import *
from ttk import * # Python 3.x: from tkinter.ttk import *
D = {'d1': {'a':'1'}, 'd2': {'b':'2'}, 'd3': {'c':'3'}}
root = Tk()
lb = Label(root, text='')
lb['text'] = '\n'.join('{} {}'.format(k, d) for k, d in D.items()) # <---
# OR lb.config(text=....)
# OR lb.configure(text=...)
lb.pack()
root.mainloop()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.