【问题标题】:Printing a list to a Tkinter Text widget将列表打印到 Tkinter Text 小部件
【发布时间】: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


    【解决方案1】:

    手动添加换行符 ('\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)
    【解决方案2】:

    您还可以创建一个框架并为其打包(或网格)标签:

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

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

    【讨论】:

      猜你喜欢
      • 2019-02-22
      • 1970-01-01
      • 1970-01-01
      • 2023-03-20
      • 2022-11-13
      • 2023-03-22
      • 2011-03-30
      • 1970-01-01
      • 2021-04-30
      相关资源
      最近更新 更多