将列表打印到Tkinter Text小部件

时间:2014-11-18 12:16:32

标签: python text tkinter widget

我有一个字符串列表,我想在 Tkinter 文本小部件中打印这些字符串,但我无法在新行中插入每个字符串。

我尝试了这个但是没有工作:

ls = [a, b, c, d]

for i in range(len(lst)):
    text.insert(1.0+i lines, ls[i])

2 个答案:

答案 0 :(得分:3)

手动附加换行符('\n'):

from Tkinter import *  # from tkinter import *

lst = ['a', 'b', 'c', 'd']

root = Tk()
t = Text(root)
for x in lst:
    t.insert(END, x + '\n')
t.pack()
root.mainloop()
顺便说一下,您不需要使用索引来迭代列表。只需迭代列表即可。并且不要使用list作为变量名。它影响内置函数/类型list

答案 1 :(得分:1)

您还可以创建一个框架并为其打包标签:

from tkinter import *
root = Tk()
myFrame = Frame(root).place(x=50, y=100)
myList = ["a", "b", "c"]
for i in myList:
    Label(myFrame, text = "● "+i).pack() #you can use a bullet point emoji.
root.mainloop()

如果您保留参考(我没有),这允许您单独管理列表项。