Конструктор уроків
1
Переглянути відео
2
Створення об’єктів класу Listbox
Об’єкт класу Listbox дозволяє відображати список елементів, з якого користувач може вибрати один або декілька пунктів.
Для налаштування віджета Listbox можна задати в його конструкторі такі спільні для багатьох віджетів параметри, як bg, fg (колір фону; колір шрифту); font (настройки шрифту); width, height (висота та ширина елемента). За замовчуванням висота встановлюється в 10 рядків, ширина — 20 символів.
За замовчуванням у Listbox натисканням миші можна вибрати тільки один елемент. Якщо установити значення параметра selectmode = EXTENDED, можна вибрати декілька елементів, утримуючи натиснутою клавішу Ctrl.
Алгоритм створення віджету класу Listbox

Для наповнення списку Listbox елементами деякого списку слід у циклі for пройти по всіх елементах списку і додати кожний елемент до списку Listbox за допомогою методу insert():
<назва об’єкта>.insert(index, element)
Як перший аргумент методу insert() передається індекс вставлення елемента. Якщо ми хочемо послідовно додавати елементи, замість індекса можна використовувати значення END.
Приклад:
Створимо віджет класу Listbox і відобразимо у віджеті список мов програмування (рис.1).
lbox = Listbox(width = 40, selectmode = EXTENDED)
lbox.pack() # Віджет розміщується у вікні
mova = ["Python", "JavaScript", "C#", "Java", "C/C++", "PHP", "Visual Basic.NET", "Ruby"]
# Заповнюється за допомогою методу insert()
for m in mova_progr:
lbox.insert(END, m)

Рис.1
Основні методи Listbox
Метод | Призначення | Приклад |
<назва_об’єкта>.insert(index,n) | Вставляє в список Listbox | lbox.insert(3, 100) # Вставлено число 100 у рядок з індексом 3 (нумерація з 0). |
<назва об’єкта>.curselection() | Повертає кортеж* індексів елементів, що виділені. | print(lbox.curselection()) # Буде виведено (1, 3, 6) |
<назва об’єкта>.delete(n) | Видаляє зі списку Listbox елемент з індексом n. | lbox.delete(6) #Видалено елемент з індексом 6. |
<назва об’єкта>.delete(n, m) | Видаляє зі списку Listbox елементи, індекси яких належать діапазону від n до m. | lbox.delete(0,END) #Видалено всі елементи зі списку lbox. |
<назва об’єкта>.get(n) | Повертає текст елемента з індексом n. | print(lbox.get(3)) # Буде виведено Java |
<назва об’єкта>.get(n, m) | Повертає кортеж* елементів списку Listbox, індекси яких належать діапазону від n до m. | elem = list(lbox.get(0, END)) #Створено список elem з усіх елементів списку Listbox. |
<назва об’єкта>.size() | Повертає число елементів у списку Listbox. | k = lbox.size() |
*Кортеж (англ. tuple) в Python— це незмінювана послідовність елементів будь-яких типів, узята в круглі дужки.
3
Дати письмові відповіді на питання
Який метод повертає набір індексів елементів, що виділені?
Який метод повертає число елементів у списку Listbox?
Який метод видаляє зі списку Listbox елемент з індексом n?
Яку операцію виконує метод <назва об’єкта>.get(n)?
4
Практичне завдання.
Створити віджет класу Listbox.

5

Рефлексія від 7 учнів
Сподобався:
Так: 7
Ні: 0
Зрозумілий:
Так: 7
Ні: 0
Потрібні роз'яснення:
Ні: 7
Так: 0
Створення й уведення структури таблиць. Поняття таблиці, поля, запису. Створення таблиць, означення полів і ключів у середовищі СКБД. Властивості полів, типи даних.