簡體   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