Как изменить текст элемента Listbox?
у меня есть Listbox
полный элементов, и мне нужно изменить текст элемента. Используя пункт configure, я могу только узнать, как изменить цвета.
Как я могу изменить текст на Tkinter Listbox
?
2 ответов
чтобы изменить текст, вам придется удалить и повторно добавить элемент по соответствующему индексу.
вот надуманный пример, который постоянно обновляет второй элемент в списке:
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()
вы должны сначала удалить старый элемент (указав его индекс), используя delete
метод