python - 在 Python ttk 中打印字典

标签 python dictionary 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'}

问题是,如果我将“print k, d”设置为我的 TTK 标签小部件,它只会在每次运行时更新该小部件,本质上只显示它运行的最后一个变量。

那么我如何让它在新行上显示每个值/键的字典,并且在更新时不会“忘记”以前的值?

最佳答案

创建一个字符串。然后将其设置为标签的文本。

例如:

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

关于python - 在 Python ttk 中打印字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20768405/

相关文章:

java - 在 Java 中按日期键对 map 进行排序

python - 基于 asyncio 的库应该提供什么 API 来处理关键错误?

python - pandas 系列中的独特值计数

c# - 有两个键的字典?

Python:如何深度复制字典列表

python-2.7 - Tkinter TreeView 选择

python - Tkinter 进度条如何在模型对话框中正确实现

python - Tkinter Notebook 中的可滚动页面

python - 使用批处理、Python 等自动编辑文本文件

python - 如何访问 Python 字符串中的第一个字符和整数对?