Я не могу найти способ отключить визуальные обновления вашего списка, поэтому мне пришлось обойти это. Если кто-то знает, можете ли вы отключить визуальное обновление списка, пожалуйста, дайте мне знать.
Мой обходной путь будет включать в себя список и 2 функции.
Моя первая функция возьмет данные, которые будут добавлены в список, и вместо этого добавит их в список. Эта функция просто имитирует добавление новых значений быстрее, чем то, что мы хотим обновить для хорошего визуального представления метода. Вы можете адаптировать этот код к своему, чтобы увидеть, как он будет работать с вашими вставками.
Моя вторая функция будет запускаться раз в секунду, принимать все новые значения этого списка и добавлять их в список по индексу.
Это простой пример, но он должен быть хорошей отправной точкой для вас.
import tkinter as tk
root = tk.Tk()
add_tracker = 1
new_lb_items = []
lb = tk.Listbox(root)
lb.pack()
def add_to_listbox():
global add_tracker, new_lb_items, root
new_lb_items.append([add_tracker, "Number {}".format(add_tracker)])
add_tracker += 1
root.after(250, add_to_listbox)
def update_listbox_display():
global lb, new_lb_items, root
for item in new_lb_items:
lb.insert(item[0], item[1])
new_lb_items = [] # resets the list so only new values are added next time.
root.after(1000, update_listbox_display)
add_to_listbox()
update_listbox_display()
root.mainloop()