繁体   English   中英

使用Python ttk打印字典

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM