Tkinter显示字典键到文本小部件?

时间:2015-11-25 16:19:16

标签: python python-3.x tkinter

from tkinter import *

data = {'parakeet': ['fly', 'bird'], 'dog': 'animal', 'cat': 'feline'}
for key in data.keys():
    print(key)
root = Tk()
Label(root, text = "Enter your name").grid(row=0,ipadx = 10,ipady = 10)
Label(root, text = key ).grid(row=1,ipadx = 10,ipady = 100)

mainloop()

当我执行代码时,它只显示文本小部件中字典中的一个键。我希望它显示所有键。

2 个答案:

答案 0 :(得分:1)

我最终得到了它。我必须列出一个键列表然后追加lkst并打印列表项

from tkinter import *
x = []
root = Tk()
data = {'parakeet': ['fly', 'bird'], 'dog': 'animal', 'cat': 'feline'}
for key in data.keys():
    x.append(key)

Label(root, text = "Enter your name").grid(row=0,ipadx = 10,ipady = 10)
Label(root, text = x ).grid(row=1,ipadx = 10,ipady = 50)

mainloop()

答案 1 :(得分:0)

from Tkinter import *

data = {'parakeet': ['fly', 'bird'], 'dog': 'animal', 'cat': 'feline'}

root = Tk()
Label(root, text = "Enter your name").grid(row=0,ipadx = 10,ipady = 10)

for i in range(len(data.keys())):
    key = data.keys()[i]
    print key
    Label(root, text = key ).grid(row=i + 1,ipadx = 10,ipady = 10)

mainloop()

这应该可以解决您的问题。 首先,您应该在for循环中包含带有键的标签的创建,以便包含所有键。为防止它们重叠,您必须在执行此操作时更改其行号。我还将ipady更改为10(这是标签之间的垂直距离。

如果你有问题,请随时再提出问题!