如何更改列表框项目的文本?

时间:2013-07-08 15:38:37

标签: python listbox tkinter

我有Listbox个项目,我需要更改项目的文字。使用项目配置我只能找到如何更改颜色。

如何更改Tkinter Listbox上的项目文字?

2 个答案:

答案 0 :(得分:4)

要更改文本,您必须删除并在适当的索引处重新添加项目。

这是一个人为的例子,它不断更新列表框中的第二项:

import Tkinter as tk
import time

class Example(tk.Frame):
    def __init__(self, parent):
        tk.Frame.__init__(self, parent)

        self.lb = tk.Listbox(self)
        self.lb.pack(fill="both", expand=True)

        self.lb.insert("end", "item 1","the current time", "item 3")

        self.after(1000, self._update_listbox)

    def _update_listbox(self):
        self.lb.delete(1)
        self.lb.insert(1, time.asctime())

        self.after(1000, self._update_listbox)

if __name__ == "__main__":
    root = tk.Tk()
    Example(root).pack(fill="both", expand=True)
    root.mainloop()

答案 1 :(得分:3)

您首先要使用Listbox对象的delete方法删除旧项目(指定其索引):

myList.delete(index, old_item)

然后insert您的 updated_item 位于旧项目的位置:

myList.insert(index, updated_item)