How can I change the text of Listbox item?

后端 未结 2 668
迷失自我
迷失自我 2021-01-12 09:50

I have a Listbox full of items, and I need to change an item\'s text. Using item configure I can only find out how to change colors.

How can I change t

相关标签:
2条回答
  • 2021-01-12 10:04

    You have first to delete the old item (specifying its index), using the delete method of your Listbox object:

    myList.delete(index, old_item)
    

    and then insert your updated_item at position of you old item:

    myList.insert(index, updated_item)
    
    0 讨论(0)
  • 2021-01-12 10:15

    To change the text you will have to delete and re-add an item at the proper index.

    Here is a contrived example that continuously updates the second item in the listbox:

    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()
    
    0 讨论(0)
提交回复
热议问题