Інформація про новину
  • Переглядів: 35
  • Дата: 6-10-2021, 18:41
6-10-2021, 18:41

57. Використання списків

Категорія: Інформатика





Попередня сторінка:  56. Використання перемикачів та прапор...
Наступна сторінка:   58. Додавання зображень в програму на Pyt...

Якщо користувачеві потрібно надати можливість обирати один або кілька елементів з певного переліку, застосовують такий елемент інтерфейсу, як список. У вигляді списків можна подавати назви річок, прізвища, розміри шрифтів, оцінки учнів тощо. Отже, список — це елемент керування, що складається з текстових рядків, які може обирати користувач. Списки створюють за допомогою конструктора Listbox.

Загальний вигляд коду для створення списку буде таким:

Кількість елементів, що буде відображено у списку, встановлюється за допомогою властивості height. Так, для створення списку, наведеного нарис. 57.1, height=7.

Для виведення списку у графічному вікні, як і для інших елементів керування, використовують методи pack або place.

Дії, які можна виконувати зі списками, розглянемо, виконавши вправу.

ВПРАВА 57

Завдання. Створити програму, що містить два списки та чотири кнопки відповідно до зразка (рис. 57.2). При натисненні на верхню кнопку всі елементи з першого списку переміщуються до другого. При натисненні на нижню кнопку всі елементи із другого списку повертаються до

першого. При натисненні на другу кнопку виділений елемент із першого списку переміщується до другого списку, а при натисненні на третю кнопку виділений елемент другого списку переміщується до першого списку.

Створення графічного вікна та написів

1. Уведіть команди створення графічного вікна, що має заголовок Формування покупки та розміри 360x230.

2. Додайте команди створення написів Комплектуючі та Замовлення, що мають бути розташовані над списками.

Створення списків

3. Уведіть команди створення списків:

Як видно з програмного коду, створення кожного списку складається з двох команд. У першій команді змінній присвоюємо конструктор Listbox з властивістю height=9. У другій команді, як і для створення інших елементів керування, — метод розташування списку в графічному вікні.

4. Додайте команду mainloop().

5. Запустіть програму та перевірте правильність створення вікна та елементів керування.

Додавання елементів до списку

Для додавання елементів до списку використовують метод insert(індексJ елемент).

Тут індекс — номер позиції, на яку необхідно вставити елемент. Зверніть увагу на те, що нумерація елементів списку починається з нуля. Якщо елемент необхідно додати в кінець списку, то замість параметра індекс потрібно записати значення END.

6. Уведіть команду додавання до створеного списку елемента «ноутбук»:

7. Інші команди додавання елементів списку створіть аналогічно.

8. Запустіть програму та переконайтеся, що елементи з назвами товарів розташовано у списку.

Створення кнопок та обробників події першої та четвертої кнопок

9. Додайте до інтерфейсу програми кнопки », >, <, « з іменами Btn1, Btn2, Btn3 та Btn4 відповідно.

Розглянемо створення обробника події першої кнопки. Натиснення на неї має переміщувати всі елементи з першого списку до другого.

Алгоритм дії обробника може бути таким. Беремо по черзі кожен елемент списку 1 і вставляємо його до списку 2. Після закінчення цього процесу очищуємо список 1. Отже, з даного алгоритму зрозуміло, що перенесення елементів зі списку 1 до списку 2 має відбуватися у циклі. Кількість ітерацій даного списку буде дорівнювати кількості елементів, що має список на момент натискання кнопки.

Для визначення розмірності списку використовують метод size. Отже, розмір першого списку буде знайдено з допомогою коду Lboxl. size ().

10. Уведіть код обробника першої кнопки, що здійснює копіювання елементів з першого списку до другого.

Також після копіювання елементів зі списку 1 до списку 2 ми маємо очистити перший список. Для очищення списку використовують метод delete. В нашому випадку — це команда Lboxl. delete(0, END), що означає вилучення усіх елементів від першого до останнього.

11. Додайте до обробника події першої кнопки команду очищення списку за межами тіла циклу.

12. Додайте команду виклику обробника події у коді першої кнопки.

13. Запустіть програму та перевірте, як буде працювати перша кнопка.

14. Аналогічно створіть команди обробника 4-ї кнопки та перевірте її роботу після запуску програми.

Обробники події другої та третьої кнопок

Після виділення елемента зі списку 1 та натиснення на другу кнопку цей елемент має переміщуватися до списку 2 знизу.

Для визначення номера виділеного елемента використовується метод curselection.

Так, для прикладу, наведеного на рис. 57.1, в результаті виконання команди n=Lbox. curcelection() змінна п набуде значення 3.

15. Уведіть обробник для другої кнопки:

16. У коді створення другої кнопки додайте команду виклику обробника події.

17. Запустіть програму на виконання. Оберіть елемент списку, натисніть другу кнопку, в результаті цей елемент має з’явитись у другому списку, а з першого списку він буде вилучений. Виконайте ці ж дії і з іншими елементами першого списку.

18. Аналогічно створіть обробник події для третьої кнопки.

19. Запустіть програму та перевірте роботу кнопок. Виконуючи завдання даної вправи, ми познайомилися з методами роботи зі списками. Усі вони наведені у таблиці 57.1.

Таблиця 57.1. Методи роботи зі списками

Контрольні запі/ттання та завдання

1. Для чого використовують списки?

2. З допомогою якого конструктора створюються списки?

3. Як додати елементи до списку?

4. Які методи використовують для роботи зі списками? Для чого вони використовуються?

Питання для роздумів

1*. Для чого у списках використовується смуга прокручування? 2*. Наведіть приклади використання різних видів списків.

Завдання для досліджень

1*. Наведіть приклади використання списків у табличному процесорі MS Excel.

2*. Відшукайте інформацію про те, як до графічного вікна додати поле зі списком.

 

Це матеріал з підручника Інформатика 8 клас Казанцева, Стеценко (2021)

 



Попередня сторінка:  56. Використання перемикачів та прапор...
Наступна сторінка:   58. Додавання зображень в програму на Pyt...



^