EZZ-SCHOOLBOOKS
Гончарук Олександр
Розділ підручника:§ 30• с. 182
§ 30⏱ 25 хвСкладність: ⭐⭐🏆 +100 XPПрограма МОН 100%

Об’єкти класу Listbox у графічному інтерфейсі

За підручником: О. О. Бондаренко, В. В. Ластовецький, О. П. Пилипчук, Є. А. Шестопалов. «Інформатика, 9 клас» (Видавництво «Ранок», 2026)• друкована с. 182
Розробник платформи:Гончарук Олександр
👩‍🏫Методичні акценти для вчителя • План проведення уроку на 45 хвНУШ
▼
🎯 Очікувані результати навчання (НУШ):

Формування предметних компетентностей за темою «Об’єкти класу Listbox у графічному інтерфейсі», розвиток критичного мислення, вміння аналізувати причинно-наслідкові зв'язки та застосовувати набуті знання на практиці.

💬 Провокативне питання для старту:

Використайте блок «Гачок (Hook)» нижче для 2-хвилинної розминки з класом перед поясненням нового матеріалу.

⏱️ Рекомендований таймінг 45-хвилинного уроку:
0–5 хв
Гачок & Місія
5–20 хв
Теорія & Інтерактив
20–30 хв
Робота «У зошит»
30–40 хв
Бос-тест уроку
40–45 хв
Рефлексія & XP
📋 Готовий запис для електронного журналу (НЗ.ua / Human / Єдина Школа):

Тема: § 30. Об’єкти класу Listbox у графічному інтерфейсі. Д/з: опрацювати матеріал уроку та завдання «У зошит» на платформі EZZ-SCHOOL BOOKS.

⚡ Фронтальне бліц-опитування класу на початку уроку (2 хв):
  1. Що є ключовим поняттям теми «Об’єкти класу Listbox у графічному інтерфейсі» і чому воно важливе?
  2. Де у повсякденному житті, науці чи IT ми стикаємося з цим явищем/алгоритмом?
  3. Яка найпоширеніша помилка виникає під час першого знайомства з матеріалом?
🏠 Диференційоване домашнє завдання:
  • Базовий рівень (обов'язковий): опрацювати конспект і блок «У зошит».
  • Достатній рівень: скласти власну шпаргалку та пройти MiniCheck.
  • Високий / STEM: виконати симуляцію у лабораторії та скласти BossQuiz на 100 XP.
📊 Критерії формувального оцінювання:
1–6 б: Відтворює означення, виконує вправи за алгоритмом.
7–12 б: Самостійно розв'язує проблеми, аналізує моделі.
🎯

Твоя місія на цей урок

Натискай на цілі у міру їх опанування:

4 цілей
  • 1Опанувати віджет Listbox бібліотеки Tkinter для відображення списків у вікні програми.
    Опанувати ➔
  • 2Підключати смугу вертикального прокручування Scrollbar до Listbox.
    Опанувати ➔
  • 3Використовувати методи: insert(), delete(), get(), size(), curselection().
    Опанувати ➔
  • 4Створювати інтерактивні віконні програми додавання та вилучення елементів.
    Опанувати ➔
🎯 Гачок уроку • Вгадай

💡 Як перетворити консольний код на справжній Windows-застосунок?

Виводити списки у чорне вікно консолі через print() — це рівень 7-го класу. Справжні сучасні програми мають вікна, кнопки та зручні списки з прокручуванням, де користувач може вибрати потрібний рядок мишкою. У Python за це відповідає класичний віджет Listbox із модулю tkinter!

1. Графічний інтерфейс користувача: віджет Listbox

Listbox (список) — це віджет графічної бібліотеки tkinter, призначений для відображення прокручуваного списку текстових пунктів, з якого користувач може вибирати один або кілька варіантів за допомогою миші.

Базова структура створення Listbox:

import tkinter as tk

root = tk.Tk()
root.title("Мій перший список")
root.geometry("300x250")

# Створення списку
box = tk.Listbox(root, selectmode=tk.SINGLE, font=("Arial", 11))
box.pack(padx=10, pady=10, fill=tk.BOTH, expand=True)

# Додавання елементів
cities = ["Київ", "Львів", "Харків", "Одеса", "Дніпро"]
for city in cities:
    box.insert(tk.END, city)

root.mainloop()
Tk
Симулятор Tkinter GUI § 30–31 (ПР 9)

Список Listbox та Візуалізація на Полотні Canvas

Середнє: 20.9° Мін: 15° / Макс: 26°
🐍 Графік температур — Tkinter Canvas v8.6
Список (Listbox): Клікніть для вибору
Елемент [0]: 15°C
Елемент [1]: 18°C
Елемент [2]: 22°C
Елемент [3]: 19°C
Елемент [4]: 25°C
Елемент [5]: 21°C
Елемент [6]: 26°C
Полотно (Canvas: width=320, height=220): canvas.create_rectangle()
15°д118°д222°д319°д425°д521°д626°д7

💻 Ключові команди Tkinter:

from tkinter import *
root = Tk()
lb = Listbox(root, width=20, height=8)
lb.insert(END, 25)                    # Вставка в кінець списку
canvas = Canvas(root, width=320, height=220, bg="white")
canvas.create_rectangle(x1, y1, x2, y2, fill="orange") # Малювання стовпчика
root.mainloop()

2. Керування пунктами: додавання, видалення, вибір

Для динамічної взаємодії з віджетом Listbox використовуються спеціальні методи та системні константи:

Метод / ВластивістьПризначенняПриклад
box.insert(tk.END, text)Додає новий пункт у самий кінець спискуbox.insert(tk.END, entry.get())
box.delete(0, tk.END)Повністю очищує весь список від початку до кінцяbox.delete(0, tk.END)
box.delete(tk.ANCHOR)Видаляє виділений наразі користувачем пунктbox.delete(tk.ANCHOR)
box.curselection()Повертає кортеж індексів виділених елементівselected_indices = box.curselection()
box.get(index)Отримує текст пункту за його числовим індексомval = box.get(selected_indices[0])

3. Підключення смуги прокручування (Scrollbar)

Коли пунктів стає забагато (наприклад, сотні учнів), список потребує вертикальної прокрутки. В Tkinter зв'язок між Scrollbar та Listbox є двостороннім:

# 1. Створюємо Scrollbar
scroll = tk.Scrollbar(root, orient=tk.VERTICAL, command=box.yview)
# 2. Пов'язуємо список зі скролом
box.config(yscrollcommand=scroll.set)
# 3. Розміщуємо поруч у вікні
scroll.pack(side=tk.RIGHT, fill=tk.Y)
box.pack(side=tk.LEFT, fill=tk.BOTH, expand=True)
🧠Запам’ятай
Режим множинного вибору: Параметр selectmode=tk.MULTIPLE або tk.EXTENDED дозволяє користувачу обирати відразу кілька пунктів з утриманням Shift або Ctrl (ідеально для вибору декількох предметів або товарів у кошик).

🎯 Міні-тест: вставка в Listbox

Яка команда правильно вставляє новий рядок у кінець списку lb у бібліотеці Tkinter?

✓ Швидка перевірка (Mini-Check)

Оберіть команду:

🗒️

У зошит (за підручником)

Вправи з підручника до цієї теми уроку. Виконуй у робочий зошит або за комп'ютером за вказівкою вчителя:

Домашка • 1 завд.
Вправа 30 (с. 188)

Створення віконної програми Tkinter з віджетом Listbox

💡 Підказка від нас: Створити вікно, поле Entry для введення імені та Listbox зі смугою прокручування Scrollbar. Додати кнопки 'Додати' (insert) та 'Видалити' (delete).

📌

Шпаргалка уроку (головне в один екран)

Усе найважливіше для повторення перед уроком або самостійною роботою

Методи Listbox:
  • lb.insert(END, text) — додати
  • lb.delete(idx) — видалити
  • lb.get(idx) — прочитати текст
  • lb.size() — кількість рядків
Події миші:
  • lb.bind('<<ListboxSelect>>', func)
  • lb.curselection() — номер виділеного
👾

Бос-тест: Tkinter — Віджет Listbox

Питання 1 з 3 • Завдай удару по босу теми

+100 XP Рахунок: 0/3
❤️ Здоров'я Боса (HP): 100% Питання 1/3

Для чого призначений віджет Listbox у графічному інтерфейсі Tkinter?