Додавання рядків до списку Listbox з клавіатури
Запрограмуємо додавання рядків до списку віджета lbox класу Listbox, уводячи по черзі значення до поля віджета entry_add класу Entry і натискаючи кнопку badd (рис.1).
 
4.PNG
Рис.1

from tkinter import*
def badd_cl():
# Додавання рядка з поля entry_add до списку lbox
        lbox.insert(END, entry_add.get())
        entry_add.delete(0, END)     # Очищення поля entry_add
        k = lbox.size()     # Визначення кількості рядків у списку lbox
        lab2.config(text = 'кількість елементів '+str(k)) # Виведення значення k
root = Tk()
lbox = Listbox(root, selectmode = EXTENDED, width = 10, height = 8)
lbox.grid(row = 0, column = 0, rowspan = 5) # Віджет lbox розміщується у вікні
lab1 = Label(root, text = 'Уведіть число: ').grid(row = 0, column = 1)
entry_add = Entry(root)        # Створення текстового поля
entry_add.grid(row = 1, column = 1)
badd = Button(text = "Додати число ", command = badd_cl)
badd.grid(row = 2, column = 1)
lab2 = Label(root, text = '****')
lab2.grid(row = 3, column = 1)
root.mainloop()
Збереження списку Listbox у текстовому файлі
Додамо до коду можливість зберігати список віджета lbox у текстовому файлі (рис. 2).
 
5.PNG
Рис.2

Для цього слід створити кнопку Зберегти у файл і описати обробник події для кнопки.
def saveList():
         f = open('list.txt', 'w')
         s = "\n".join(lbox.get(0, END))
         print(s, file = f)
         f.close()
<…>
bsave = Button(root, text = "Зберегти у файл", command = saveList)
bsave.grid(row = 4, column = 1)
 Метод join() перетворює кортеж рядків, який повернув метод get(), в один рядок через роздільник \n
Додавання чисел, які знаходяться в списку Listbox
Обчислимо суму чисел, які знаходяться в списку lbox (див. рис. 1). До коду основної програми слід додати кнопку Знайти суму й описати обробник події для кнопки:
def bsum_cl():
            elem = list(map(int, lbox.get(0, END)))
            s = sum(elem)
            lab2.config(text = ''Сума елементів ''+str(s))
<…>
bsum = Button(text = "Знайти суму", command = bsum_cl)
bsum.grid(row = 4, column = 1)

Обчислимо суму чисел, які знаходяться у виділених рядках списку lbox (рис. 3).
6.PNG
Рис.6

Функцію bsum_cl() слід змінити таким чином:
def bsum_cl():
         # Список індексів виділених елементів
         select = list(lbox.curselection())
         s = 0
# Додавання елементів зі списку lbox, індекси яких знаходяться в списку select
         for i in select:
                  s = s+int(lbox.get(i))
         lab2.config(text = 'Сума виділених '+str(s))

Отже, віджет Listbox дозволяє унаочнити роботу зі списками, полегшити опрацювання значень у списку, вибір елементів тощо.
Джерела:
Інформатика : підруч. для 9 кл. закл. загал. серед. освіти / [О. О. Бондаренко, В. В. Ластовецький, О. П. Пилипчук, Є. А. Шестопалов]. — Харків : Вид-во «Ранок», 2022