Урок:

Створення об'єктів Listbox

24.03.2023
1 0
Вміст уроку:
1
2
Опис, який учні побачать перед початком уроку

Властивості віджета Listbox

padPgWhGUCFuXjMaYz7LozOUbH3Ek97m950IN7iJO8hf79l_LBmGKyZ0GHbz9i05fxUvkcosHAAUu_ToMx0xRhtu3MJ_lIEXmhI40aR5p2nUM7Eb=w1280

Функції віджета Listbox

t1Gyd3WwUsgEi_Qx5OTNHjTWBU44wdRLLSKjO8--U7PjDLUqfW1E6TV-RGeA6eng7DIqK2Odvk4C08OGfnNaayCENvH0F6Kmf6QVU0JVFICwHFUM=w1280

Спочатку список (Listbox) порожній. За допомогою циклу for в нього додаються пункти зі списку. Додавання відбувається за допомогою спеціального методу класу Listbox – insert. Даний метод приймає два параметри: куди додати і що додати.

Приклад:

list1 = ["Python", "Java", "C", "C++"] # задаємо елементи, які повинні потрапити у список
listbox1 = Listbox(root, height=5, width=15, selectmode=EXTENDED) # створюємо віджет – список
for i in list1: # додаємо елементи у віджет
 listbox1.insert(END, i)

Приклади застосування

Завдання 1. Розмістити у вікні список, який містить числа від 1 до 100, та смугу прокручування. Забезпечити можливість вибору кількох елементів у списку.

Вказівка. Можливість вибору кількох елементів у списку забезпечує властивість selectmode зі значенням EXTENDED.

ItpiQnp9wXAQsuc4LFlFdGm9u9MPFq12p_glMinyRdmLpy-7BDDkcyGrwAl3SKupOKMM3SD8LMf7qsdPbMWtSsGymSrYfbTIKQu3wNJzV9vt3sGg=w1280

8L6Z8Grxu9ws23AxwB38oXkK3S4j0N1PFW29EjJdiqv5qh7gZrDuxSd64qXkhIlGT0xi8RWUxOHCkAIGux-tYCjRawyzqscJ2ZMEhtBj53esGpKJ=w1280

from tkinter import * # імпортування графічної бібліотеки
root = Tk() # створення головного вікна
list = Listbox(root, selectmode=EXTENDED) # створення та розміщення списку
list.pack(side=LEFT, fill=Y)
for i in range(100): # додавання елементів у список
 list.insert(END, str(i+1))
scroll = Scrollbar(root) # створення та розміщення смуги прокручування
scroll.pack(side=RIGHT, fill=Y)
scroll.config(command=list.yview) # встановлення зв'язку між скроллером та списком
list.config(yscrollcommand=scroll.set) # зв'язка списку з панеллю прокручування
root.mainloop() # задання команди відображення вікна при запуску

Завдання 2. Розмістити у вікні список з можливістю вибору одного елемента та кнопку, яка друкує обране у списку значення.

xEDeIlxPR8WGRH_N1GQ19XXRyd1GkdZWvNpfPnjYLCZxD4SxlfalK5iUO1D9W-s9XaEdsC7axVQf0zTc9VAGTSD_yYMO47pqJqEr_HPvUdJ701Gz=w1280

TlcO9w9EshnLvPebQHfXmg1TV7kI1tuB4gFPl0aJsDJKXpN3sAGvP6WYs7gaAwSdqMWgFKNoFPq467annHxpeb498QPlOIj5TLPF1UM5sORDIbJ0=w1280

from tkinter import * # імпортування графічної бібліотеки
root = Tk() # створення головного вікна
# функція для друку елемента списку
def f():
 print(list.get(list.curselection())) # друкуємо вибраний елемент списку по його індексу
list = Listbox(root, selectmode=SINGLE, width=15, height=5) # створення та розміщення списку
list.pack(side=LEFT, padx=20)
for i in ['Python', 'Java', 'C', 'C++']: # додавання елементів у список 
 list.insert(END, i)
butt = Button(root, text='Друкувати', command=f) # створення та розміщення кнопки
butt.pack(side=LEFT, padx=5)
root.mainloop() # задання команди відображення вікна при запуску

Завдання 3. Розмісти у вікні два списки Listbox. У першому буде перелік товарів, заданий програмно. Другий спочатку порожній, нехай це буде перелік покупок. При кліці на одну кнопку товар повинен переходити з одного списку в інший. При кліці на другу кнопку – повертатися.

wbdbK6XZxThTC4-E4xBSBOdivDhOV8PIqMtJOzEtjJXlTzjqceJHztgf1-xabo2JmGjQ027I4L5dtQQqsyhwIsCtNNJZJMvoXwJI2JRRjKG6d5PS=w1280

from tkinter import * # імпортування графічної бібліотеки
root = Tk() # створення головного вікна
# функція для перенесення товару з першого списку в другий
def lbox1_to_lbox2():
 lbox2.insert(END, lbox1.get(lbox1.curselection()))
 lbox1.delete(lbox1.curselection())
# функція для перенесення товару з другого списку в перший
def lbox2_to_lbox1():
 lbox1.insert(END, lbox2.get(lbox2.curselection()))
 lbox2.delete(lbox2.curselection())
lbox1 = Listbox(root, selectmode=SINGLE) # створення та розміщення першого списку
lbox1.pack(side=LEFT)
for i in ['молоко', 'хліб', 'масло', 'м\'ясо', 'яйця']: # додавання елементів у перший список
 lbox1.insert(END, i)
# створення фрейма та наповнення його кнопками
f1 = Frame(root)
button1 = Button(f1, text='>>>', command=lbox1_to_lbox2)
button1.pack(side=TOP)
button2 = Button(f1, text='<<<', command=lbox2_to_lbox1)
button2.pack(side=BOTTOM)
f1.pack(side=LEFT)
lbox2 = Listbox(root, selectmode=SINGLE) # створення та розміщення другого списку
lbox2.pack(side=LEFT)
root.mainloop() # задання команди відображення вікна при запуску

Урок не містить жодного завдання. Додайте завдання.

Щоб додати завдання, оберіть категорію завдання на панелі запитань.

1

Перегляньте відео розв'язання вправи 33

https://www.youtube.com/watch?v=WUG0nBjCV1o

2

пройти тестування за покликанням, прикріпити файл з оцінкою

https://naurok.com.ua/test/start/1393216

Рефлексія від 7 учнів

Сподобався:

0

Так: 5

Ні: 2

Зрозумілий:

0

Так: 6

Ні: 1

Потрібні роз'яснення:

0

Ні: 7

Так: 0

Рекомендуємо

9 Клас. Об’єкт класу Listbox.

9 Клас. Об’єкт класу Listbox.

126

Аватар профіля Vitenko Ihor
Інформатика
9 клас

50 грн

Інформаційний об’єкт. Властивості об'єкта. Створення моделі об’єкта за заданими

Інформаційний об’єкт. Властивості об'єкта. Створення моделі об’єкта за заданими

602

Аватар профіля Лизько Валентина Степанівна
Інформатика
3 клас

25 грн

Поняття про об’єкт у програмуванні. Властивості об’єкта. Створення програмних об’єктів

Поняття про об’єкт у програмуванні. Властивості об’єкта. Створення програмних об’єктів

690

Аватар профіля Лизько Валентина Степанівна
Інформатика
6 клас

30 грн

9 клас. Урок 48. Виконання навчальних проєктів. Об’єкти класу Listbox (Python)

9 клас. Урок 48. Виконання навчальних проєктів. Об’єкти класу Listbox (Python)

277

Аватар профіля Вітенко Іван
Інформатика
9 клас

72 грн

Створення лінійних алгоритмів (рух об`єктів)

Створення лінійних алгоритмів (рух об`єктів)

755

Аватар профіля Лизько Валентина Степанівна
Інформатика
3 клас

25 грн

Робота з шарами. Трансформація об’єктів. Створення колажів

 Робота з шарами. Трансформація об’єктів. Створення колажів

323

Аватар профіля Чернишева Антоніна Вікторівна
Інформатика
11 клас

91 грн

Схожі уроки

Впорядкування, пошук і фільтрування даних.

Впорядкування, пошук і фільтрування даних.

1317

Аватар профіля Вожга Ірина Леонідівна
Інформатика
9 клас

Створення й уведення структури таблиць. Поняття таблиці, поля, запису. Створення таблиць, означення полів і ключів у середовищі СКБД. Властивості полів, типи даних.

Створення й уведення структури таблиць. Поняття таблиці, поля, запису. Створення таблиць, означення полів і ключів у середовищі СКБД. Властивості полів, типи даних.

1144

Аватар профіля Савка-Ржематорська Оксана Василівна
Інформатика
9 клас

Цикли з передумовою у вкладених циклах

Цикли з передумовою у вкладених циклах

1368

Аватар профіля Вожга Ірина Леонідівна
Інформатика
6 клас

Налаштування часових параметрів аудіо- та відеоряду.

Налаштування часових параметрів аудіо- та відеоряду.

511

Аватар профіля Солодовнікова Катерина Олексіївна
Інформатика
8 клас

Елемент керування «кнопка». Поняття об’єкту та його властивостей і методів (на прикладі елементів екранної форми). Властивості і методи елементів керування.

Елемент керування «кнопка». Поняття об’єкту та його властивостей і методів (на прикладі елементів екранної форми). Властивості і методи елементів керування.

674

Аватар профіля Пилипенко Олена Володимирівна
Інформатика
8 клас

Елемент керування кнопка

Елемент керування кнопка

297

Аватар профіля Пилипенко Олена Володимирівна
Інформатика
8 клас