【发布时间】:2014-11-18 12:16:32
【问题描述】:
我有一个字符串列表,我想在 Tkinter 文本小部件中打印这些字符串,但我不能在新行中插入每个字符串。
我试过了,但没有用:
ls = [a, b, c, d]
for i in range(len(lst)):
text.insert(1.0+i lines, ls[i])
【问题讨论】:
标签: python text tkinter widget
我有一个字符串列表,我想在 Tkinter 文本小部件中打印这些字符串,但我不能在新行中插入每个字符串。
我试过了,但没有用:
ls = [a, b, c, d]
for i in range(len(lst)):
text.insert(1.0+i lines, ls[i])
【问题讨论】:
标签: python text tkinter widget
手动添加换行符 ('\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。
【讨论】:
insert 语句和'\n'.join(lst)
您还可以创建一个框架并为其打包(或网格)标签:
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()
如果您保留参考(我没有),这允许您单独管理列表项。
【讨论】: