Виконання навчальних проєктів
Об’єкти класу Listbox
Створення об’єктів класу Listbox
Створення об’єктів класу Listbox
Створення об’єктів класу Listbox
Створення об’єктів класу Listbox
Створення об’єктів класу Listbox
Створення об’єктів класу Listbox
Основні методи Listbox
Основні методи Listbox
Основні методи Listbox
Основні методи Listbox
Основні методи Listbox
Основні методи Listbox
Застосування методів класу Listbox
Застосування методів класу Listbox
Застосування методів класу Listbox
Застосування методів класу Listbox
Застосування методів класу Listbox
Застосування методів класу Listbox
Застосування методів класу Listbox
Питання для самоперевірки
Працюємо за комп’ютером
Дякую за увагу!
1.62M

Презентація 9 клас Урок 48

1. Виконання навчальних проєктів

Інформатика 9
Урок 48
за підручником
Морзе Н.В. та ін.
teach-inf.com.ua
Виконання
навчальних
проєктів
За навчальною програмою 2017 року

2. Об’єкти класу Listbox

Розділ 3
§ 14
Об’єкти класу Listbox
Вибирати для виконання певних дій елементи списку
із заданою ознакою зручніше, якщо ці елементи
візуально представлені й доступні у графічному вікні.
Таку можливість надають віджети класу Listbox.
Об’єкт класу Listbox
дозволяє відображати
список елементів, з якого
користувач може обрати
один або декілька
пунктів.
© Вивчаємо інформатику
teach-inf.com.ua

3. Створення об’єктів класу Listbox

Розділ 3
§ 14
Створення об’єктів класу Listbox
Для налаштування віджета Listbox можна задати в
його конструкторі такі спільні для багатьох віджетів
параметри, як:
bg
колір фону
fg
колір шрифту
font
настройки шрифту
width
ширина елемента (за замовчуванням ширина
встановлюється в 20 символів)
height
висота елемента (за замовчуванням висота
встановлюється в 10 рядків)
© Вивчаємо інформатику
teach-inf.com.ua

4. Створення об’єктів класу Listbox

Розділ 3
§ 14
Створення об’єктів класу Listbox
Важливо задати значення параметра selectmode
selectmode
визначає, скільки елементів може бути
виділено
За замовчуванням у Listbox натисканням миші можна
вибрати тільки один елемент. Якщо установити:
selectmode = EXTENDED
© Вивчаємо інформатику
teach-inf.com.ua
можна вибрати декілька
елементів, утримуючи
натиснутою клавішу Ctrl

5. Створення об’єктів класу Listbox

Розділ 3
§ 14
Створення об’єктів класу Listbox
При
створенні
віджета
класу
дотримуватися такої послідовності дій:
1) створити об’єкт класу
Listbox;
2) заповнити список
Listbox елементами;
3) розмістити віджет у
вікні.
© Вивчаємо інформатику
teach-inf.com.ua
Listbox
слід

6. Створення об’єктів класу Listbox

Розділ 3
§ 14
Створення об’єктів класу Listbox
ПРИКЛАД 1. Створити віджет класу Listbox.
Програмний код
from tkinter import*
root = Tk()
root.title('Віджет класу Listbox')
lbox_mova_progr = Listbox(width = 40,
selectmode = EXTENDED)
lbox_mova_progr.pack()
# Віджет розміщується у вікні
root.mainloop()
© Вивчаємо інформатику
teach-inf.com.ua

7. Створення об’єктів класу Listbox

Розділ 3
§ 14
Створення об’єктів класу Listbox
Для наповнення списку Listbox елементами слід у
циклі for пройти по всіх елементах списку mova_progr і
додати кожний елемент до списку Listbox за допомогою
методу insert():
<назва об’єкта>.insert(index, element)
Як перший аргумент методу insert передається індекс
вставлення елемента.
Якщо ми хочемо послідовно додавати елементи,
замість індекса можна використовувати
значення END.
© Вивчаємо інформатику
teach-inf.com.ua

8. Створення об’єктів класу Listbox

Розділ 3
§ 14
Створення об’єктів класу Listbox
ПРИКЛАД 2. Відобразити у віджеті класу
список мов програмування.
Listbox
from tkinter import*
root = Tk()
root.title('Мови програмування')
lbox_mova_progr = Listbox(width = 40, selectmode = EXTENDED)
mova_progr = ["Python", "JavaScript", "C#", "Java", "C/C++",
"PHP", "Visual Basic.NET", "Ruby"]
# Заповнюється за допомогою методу insert()
for mova in mova_progr:
lbox_mova_progr.insert(END, mova)
lbox_mova_progr.pack()
root.mainloop()
© Вивчаємо інформатику
teach-inf.com.ua

9. Основні методи Listbox

Розділ 3
§ 14
Основні методи Listbox
Крім методу insert(), клас
Listbox має інші корисні
методи для керування
поведінкою об’єктів та
їхнім вмістом.
Розглянемо деякі з цих
методів. Метод:
<назва об’єкта>.curselection()
Повертає набір індексів елементів, що виділені.
© Вивчаємо інформатику
teach-inf.com.ua

10. Основні методи Listbox

Розділ 3
§ 14
Основні методи Listbox
ПРИКЛАД 3. Застосувати метод
curselection() до списку віджета
lbox_mova_progr.
Метод викликається в
обробнику події для кнопки
Застосувати метод
curselection().
def btn_click():
print (lbox_mova_progr.curselection())
Результат
© Вивчаємо інформатику
1, 3, 6
teach-inf.com.ua

11. Основні методи Listbox

Розділ 3
§ 14
Основні методи Listbox
Метод
<назва об’єкта>.delete(n)
Видаляє
зі
списку
елемент з індексом n.
Listbox
ПРИКЛАД 4. Видалити елемент
з індексом 6.
lbox_mova_progr.delete(6)
© Вивчаємо інформатику
teach-inf.com.ua

12. Основні методи Listbox

Розділ 3
§ 14
Основні методи Listbox
Метод
<назва об’єкта>.get(n)
Повертає
індексом n.
текст
елемента
з
ПРИКЛАД 5. Вивести в консоль
елемент
списку
Listbox
з
індексом 3.
print(lbox_mova_progr.get(3))
# Буде виведено Java
© Вивчаємо інформатику
teach-inf.com.ua

13. Основні методи Listbox

Розділ 3
§ 14
Основні методи Listbox
ПРИКЛАД 6. Створити список elem
додані до списку Listbox.
з елементів, що
elem = list(lbox_mova_progr.get(0, END))
Результат
['Python', 'JavaScript', 'C#', 'Java',
'C/C++', 'PHP', 'Visual Basic.NET',
'Ruby']
© Вивчаємо інформатику
teach-inf.com.ua

14. Основні методи Listbox

Розділ 3
§ 14
Основні методи Listbox
Метод
<назва об’єкта>.size()
Повертає число
списку Listbox.
елементів
ПРИКЛАД 7. Визначити
кількість елементів у списку
lbox_mova_progr.
k = lbox_mova_progr.size()
print(k) # Буде виведено 8
© Вивчаємо інформатику
teach-inf.com.ua
у

15. Застосування методів класу Listbox

Розділ 3
§ 14
Застосування методів класу Listbox
Додавати рядки до списку Listbox можна під час
виконання програми, вводячи значення з клавіатури.
ПРИКЛАД 8. Запрограмувати
додавання рядків до списку віджета
lbox класу Listbox, уводячи по черзі
значення до поля віджета
entry_add класу Entry і натискаючи
кнопку badd.
© Вивчаємо інформатику
teach-inf.com.ua

16. Застосування методів класу Listbox

Розділ 3
§ 14
Застосування методів класу Listbox
Програмний
код до
прикладу 8
© Вивчаємо інформатику
teach-inf.com.ua

17. Застосування методів класу Listbox

Розділ 3
§ 14
Застосування методів класу Listbox
ПРИКЛАД 9. Додати до коду з прикладу 8 можливість
зберігати список віджета lbox у текстовому файлі. Для
цього слід створити кнопку Зберегти у файл і описати
обробник події для кнопки.
Метод join() перетворює кортеж
рядків, який повернув метод get(),
в один рядок через роздільник '\
def saveList():
f = open('list.txt', 'w')
f.writelines("\n".join(lbox.get(0, END)))
f.close()
bsave = Button(root, text = "Зберегти у файл", command =
saveList)
bsave.grid(row = 4, column = 1)
© Вивчаємо інформатику
teach-inf.com.ua

18. Застосування методів класу Listbox

Розділ 3
§ 14
Застосування методів класу Listbox
Вибирати для виконання певних дій елементи списку
із заданою ознакою.
© Вивчаємо інформатику
teach-inf.com.ua

19. Застосування методів класу Listbox

Розділ 3
§ 14
Застосування методів класу Listbox
ПРИКЛАД 10. Обчислити суму чисел, які знаходяться в
списку lbox, що створений у прикладі 8.
До коду основної програми слід додати кнопку
Знайти суму й описати обробник події для кнопки:
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)
© Вивчаємо інформатику
teach-inf.com.ua

20. Застосування методів класу Listbox

Розділ 3
§ 14
Застосування методів класу Listbox
ПРИКЛАД 11. Обчислити суму чисел, які знаходяться у
виділених рядках списку lbox, що створений у
прикладі 8.
def bsum_cl():
select = list(lbox.curselection())
# Список індексів виділених елементів
s=0
for i in select:
s = s+int(lbox.get(i))
# Додавання елементів зі списку lbox,
# індекси яких знаходяться в списку select
lab2.config(text = 'Сума виділених '+str(s))
© Вивчаємо інформатику
teach-inf.com.ua

21. Застосування методів класу Listbox

Розділ 3
§ 14
Застосування методів класу Listbox
Отже, віджет
Listbox дозволяє
унаочнити роботу
зі списками,
полегшити
опрацювання
значень у списку,
вибір елементів
тощо.
© Вивчаємо інформатику
teach-inf.com.ua

22. Питання для самоперевірки

Розділ 3
§ 14
Питання для самоперевірки
1. Виведіть у консоль число елементів у списку lab.
2. Виведіть у консоль індекс виділеного елемента
списку lab.
3. Виведіть у консоль
текст 3-го елемента
в списку lab.
4. Видаліть 4-й
елемент списку lab.
© Вивчаємо інформатику
teach-inf.com.ua

23. Працюємо за комп’ютером

Розділ 3
§ 14
Працюємо за комп’ютером
Виконати завдання з файлу:
Практичне завдання_урок 48
© Вивчаємо інформатику
teach-inf.com.ua

24. Дякую за увагу!

Інформатика 9
Дякую за увагу!
Урок 48
за підручником
Морзе Н.В. та ін.
teach-inf.com.ua
За навчальною програмою 2017 року
English     Русский Rules