П99. Елементи об’єктно-орієнтованого програмування. Основи графічного інтерфейсу користувача
Прочитайте!
У мовах програмування використання графічного інтерфейсу робить зручнішою роботу з програмою. Графічні об’єкти розміщуються на екрані, деякі з них потребують зовнішньої дії, наприклад клацання кноп ки миші. Далі програма виконує відповідну передбачувану дію. Якщо клацнути іншу кнопку — програма може виконувати іншу запрограмовану дію.
Мова Python забезпечує роботу з різними графічними бібліотеками. За допомогою таких бібліотек можна створювати програми з розвинутим графічним інтерфейсом користувача. Достатньо потужні графічні можливості має модуль tkinter, який і розглядатиметься далі.
Модуль tkinter входить до стандартного дистрибутива Python. Основним призначенням цього модуля є створення графічних інтерфейсів для програм, а завдяки наявності об’єкта полотно (Canvas) його можна застосовувати й для малювання. За допомогою модуля tkinter можна створювати також графічні функції. Але для побудови графіків потужніші можливості в модуля matlotlib (який тут не розглядається).
Бібліотека tkinter має стандартний набір об’єктів (їх ще називають віджетами, або компонентами), із яких, власне, і створюється графічний інтерфейс. Прикладами віджетів є кнопка, смуга прокручування, прапорець, перемикач та інші. Кожному об’єкту в бібліотеці відповідає свій клас. Наприклад, об’єкту кнопка відповідає клас Button, а об’єкту перемикач — клас Radiobutton. Базовим класом бібліотеки є клас Tk, за допомогою якого створюється головне вікно. Усі віджети в програмі створюються за однаковим принципом — шляхом виклику конструктора відповідного класу, який має таку загальну структуру:
<ім’я змінної> = <назва класу> [(параметри)]
Наприклад, створити кнопку можна за до помогою інструкції: but1 = Button(). Першим параметром у цьому конструкторі вказується ім’я батьківського віджета, у якому буде розміщено цей об’єкт. Якщо цей параметр не вказано, то об’єкт буде розміщено в головному вікні. Далі можуть міститися інші параметри, які визначають його конфігурацію, наприклад назву — text, колір — bg, шрифт — font та ін.
Для створення графічного інтерфейсу користувача необхідно знати перелік об’єктів бібліотеки tkinter, їх призначення й можливості, порядок розміщення об’єктів у вікні та події, які можуть виникати під час взаємодії з ними. Саме в такій послідовності й розроблено цей підрозділ.
Опишемо алгоритм створення графічного інтерфейсу мовою Python

Приклад 1. Запишемо код програми, за допомогою якої відображається головне вікно з двома кнопками. Одна з них має напис Множення, а інша — Додавання. Якщо натиснути кнопку Множення, то викличеться функція func2, уведуться й помножаться два числа. Якщо натиснути кнопку Додавання, то викличеться функція func1, уведуться й додадуться два інших числа.
Після запуску програми на виконання на екрані з’явиться вікно з двома кнопками та вікно, у яке необхідно ввести дані для опрацювання. Вікно для введення даних можна перемістити в інше місце екрана так, щоб ці вікна не перетиналися.

Натиснемо спочатку, наприклад, копку Додавання й уведемо два числа — результат додавання чисел відобразиться на екрані. Потім натиснемо кнопку Множення й уведемо два числа — з’явиться результат множення. Ще раз натиснемо кнопку Додавання й уведемо два числа.
Створювати графічний інтерфейс користувача мож на й на основі об’єктноорієнтованого підходу, обов’язковою складовою якого є клас. Такий підхід у деяких випадках є ефективнішим за метод процедурного програмування.
Приклад 2. Запишемо код програми, яка реалізує ті самі функції, що й попередня програма, але вона побудована з використанням класу. Принципова різниця між цими програмами полягає лише в тому, що числа в другій програмі не вводяться за допомогою клавіатури.

Завдання для самостійного виконання
Завдання 1. Розробіть програму, за допомогою якої у головному вікні розміщується кнопка та здійснюється введення з клавіатури трьох чисел. Після натиснення кнопки обчислюється середнє арифметичне уведених чисел.
Завдання 2. Розробіть програму, за допомогою якої у головному вікні розміщується кнопка, після натиснення якої генеруються два цілих випадкових числа, множаться й результат виводиться на екран.
Завдання 3. Розробіть програму, за допомогою якої у головному вікні розміщуються дві кнопки з назвами Увести та Ділення. Після натиснення першої кнопки два числа уводяться з клавіатури, а після натиснення другої перше число ділиться на друге.
-
Тема 1. Інформаційні технології в суспільстві.
- Урок 1. Інформація, повідомлення, дані, інформаційні процеси, інформаційні системи як важливі складники й ознаки сучасного суспільства. Сучасні інформаційні технології та системи. Людина в інформаційному суспільстві.
- Урок 2. Проблеми інформаційної безпеки. Загрози при роботі в Інтернеті і їх уникнення.
- Урок 3. Навчання в Інтернеті. Професії майбутнього – аналіз тенденцій на ринку праці. Роль інформаційних технологій в роботі сучасного працівника.
- Урок 4. Поняття про штучний інтелект, інтернет речей, Smart-технології та технології колективного інтелекту.
- Урок 5. Комп’ютерно-орієнтовані засоби планування, виконання і прогнозування результатів навчальної, дослідницької і практичної діяльності.
- Урок 6. Інтернет-маркетинг та інтернет-банкінг. Системи електронного урядування.
-
Тема 2. Моделі і моделювання. Аналіз та візуалізація даних
- Урок 7. Комп’ютерне моделювання об’єктів і процесів. Комп’ютерний експеримент
- Урок 8. Основи статистичного аналізу даних. Ряди даних. Обчислення основних статистичних характеристик вибірки.
- Урок 9. Консолідація даних. Зведені таблиці. Інструктаж з ТБ. Практична робота №1 «Консолідація даних. Створення зведеної таблиці»
- Урок 10. Пошук та збір наборів даних. Соціальні аспекти масштабного аналізу даних.
- Урок 11. Розв’язування рівнянь. Розв’язування систем рівнянь, оптимізаційних задач.
- Урок 12. Програмні засоби для складних обчислень, аналізу даних та фінансових розрахунків.
- Урок 13. Візуалізація рядів і трендів даних. Інфографіка.
- Урок 14. Розв’язання задач з різних предметних галузей.
- Урок 15. Інструктаж з БЖД. Практична робота №2 «Розв’язання задач з різних предметних галузей. Обчислення статистичних характеристик»
-
Тема 3. Системи керування базами даних
- Урок 16. Поняття бази даних і систем керування базами даних, їх призначення.
- Урок 17. Введення даних у базу. Створення інтерфейсу користувача для введення даних у базу. Імпорт та експорт бази даних. Зв’язки між таблицями.
- Урок 18. Створення та відкриття бази даних. Створення таблиць та звітів. Введення і редагування даних різних типів.
- Урок 19. Створення форм різних типів. Імпорт даних.
- Урок 20. Створення розділеної форми. Створення головної кнопкової форми. Інструктаж з БЖД. Практична робота №4: «Створення форм»
- Урок 21. Створення запитів. Запити на вибірку даних.
- Урок 22. Практична робота «Створення звітів, запитів, форм за кількома таблицями»
-
Тема 4. Мультимедійні та гіпертекстові документи
- Урок 23. Основні тренди у веб-дизайні. Практикум з використання інформаційних технологій
- Урок 24. Практикум з використання інформаційних технологій. Підготовка проєкту до захисту.
- Урок 25. Типи сайтів та їх особливості. Цільова аудиторія. Захист проєкту
- Урок 26. Технології опрацювання мультимедійних даних. Мова гіпертекстової розмітки.
- Урок 27. Гіпертекстовий документ та його елементи. Текстові елементи веб-сторінки, теги та їх атрибути. Гіперпосилання
- Урок 28. Таблиці та списки на веб-сторінках. Інструктаж з БЖД. Практична робота №6 «Створення веб-сторінки за допомогою мови гіпертекстової розмітки»
- Урок 29. Правила ергономічного розміщення відомостей на веб-сторінці. Пошукова оптимізація та стратегії просування веб-сайтів.
- Урок 30. Роль електронних медійних засобів в житті людини. Системи опрацювання аудіо- та відеоінформації. Інструктаж з БЖД. Практична робота №12 «Оцінка сайту. Просування сайту».
- Уроки 31-33. Проектна діяльність. Розбиття на групи. Вибір теми проекту. Розробка плану проекту. Робота над проектом. Захист проекту
- Урок 34. Хостинг сайту. Взаємодія клієнт-сервер.
- Урок 35. Проектування та верстка веб-сторінок. Адаптивна верстка. Кросбраузерна оптимізація сторінок сайту.
- Урок. Позиціювання елементів веб-сторінки за допомогою стилів.
- Урок. Інструктаж з БЖД. Практична робота № 10 «Створення веб-сторінки з використанням каскадних аркушів стилю»
- Урок. Графіка та мультимедіа для веб-середовища. Використання зображень у веб-документах.
- Урок. Розміщення та відтворення на веб-сторінках мультимедійних даних. Формати аудіо- та відеофайлів.
- Урок. Дотримання авторських прав та ліцензій на використання графічних зображень та засобів мультимедіа на веб-сторінках.
- Урок. Інструктаж з БЖД. Практична робота №11 «Використання графічних, анімаційних та мультимедійних елементів на веб-сторінках».
- Урок . Макет інформаційної структури сайту. Інструктаж з БЖД. Практична робота №8 «Проектування структури сайту».
- Урок. Інформаційна структура сайту. Інструменти веб-розробника. План розробки сайту.
-
Тема 5. Основи електронного документообігу
- Урок 54. Поняття документу. Призначення та класифікація документів. Документообіг. Загальні правила оформлення документів. Стиль ділового листування. Логічні елементи тексту та порядок його викладення.
- Урок 55. Шаблони та формуляр-зразки документа. Реквізити документа. Правила оформлення сторінки. Інструктаж з БЖД. Практична робота №13 «Використання шаблону та формуляр-зразка документа»
- Уроки 56-57. Оформлення бібліографічних списків та покажчиків. Правила та вимоги оформлення письмової роботи. Інструктаж з БЖД. Практична робота №14 «Оформлення письмової роботи зі створенням бібліографічних списків та покажчиків»
- Уроки 58-59. Системи управління електронними документами. Класифікація офісної техніки. Засоби створення, зберігання, обробки, копіювання і транспортування документів. Інструктаж з БЖД. Практична робота №15 «Створення та пересилання документів»
- Уроки 60-61. Електронний документ, його ознаки та правовий статус. Електронний документообіг. Електронний цифровий підпис. Передавання електронних документів. Зберігання електронних документів. Забезпечення конфіденційності електронних документів. Електронний офіс.
- Урок 62. Підсумковий урок з теми: “Основи електронного документообігу””
-
Профільний рівень. Електронні таблиці (повторення)
-
Профільний рівень. Сучасні інформаційні технології
- П7. Сучасні інформаційні технології та системи. Людина в інформаційному суспільстві
- П8. Здібності, креативність і знання в галузі інформатики
- П9. Навчання в Інтернеті
- П10. Програмні засоби для планування, структурування роботи, співпраці
- П11. Роль інформаційних технологій в роботі сучасного працівника.
- П12. Професії майбутнього – аналіз тенденцій на ринку праці. Інструктаж з БЖД. Практична робота №1. «Професії майбутнього. Хмарні сервіси»
- П13. Поняття про штучний інтелект
- П14. Системи електронного врядування
- П15. Інформаційна безпека. Рівні та протоколи інформаційної безпеки
- П16. Керування ризиками в інформаційних системах.
- П17. Виконання індивідуальних та колективних проектів.
-
Аналіз і візуалізація даних
- П19. Комп’ютерне моделювання об’єктів і процесів. Комп’ютерний експеримент.
- П20. Програмні засоби для складних обчислень, аналізу даних та фінансових розрахунків. Електронні таблиці.
- П21. Табличний процесор як засіб для виконання розрахунків
- П23. Розв’язання рівнянь та оптимізаційних задач з різних предметних галузей засобами ІТ.
- П24. Інструктаж з БЖД. Практична робота №2. Використання надбудови Розв’язувач для розв’язання задач
- П25. Розв’язування рівнянь засобами табличного процесора
- П26. Розв’язання систем лінійних рівнянь.
- П27. Матричні операції. Розв’язання систем лінійних рівнянь засобами табличного процесора.
- П28. Основи статистичного аналізу даних. Ряди даних. Обчислення основних статистичних характеристик вибірки. Кореляційний аналіз даних.
- П29. Пошук та збір наборів даних .
- П30. Обчислення основних характеристик вибірки засобом табличного процесора
- П31. Інструктаж з БЖД. Практична робота №3. Статистичний аналіз даних. Кореляційний аналіз даних.
- П32. Візуалізація рядів і трендів даних. Вибір типу діаграми
- П33. Інфографіка
- П34. Інтерактивні візуалізації даних
- П35. Інструктаж з БЖД. Практична робота №4. “Інтерактивні візуалізації даних”
- П36. Розв’язування задач з різних предметних галузей .
- П37. Табличний процесор як засіб для фінансових розрахунків.
- П38. Електронна таблиця як засіб подання відомостей про однотипні об’єкти. Операції з однотабличною базою даних.
- П39. Інструктаж з БЖД. Практична робота №5. Операції з однотабличною базою даних
- П40. Створення та редагування зведених таблиць
- П41. Виконання індивідуальних та групових проектів
-
Електронні публікації
- П42. Багатосторінкові текстові документи. Налаштування параметрів сторінок. Розділи документа
- П43. Правила стильового оформлення документів різних типів
- П44. Колонтитули
- П45. Схема документа
- П46. Налаштування параметрів сторінок та колонтитулів, для різних частин документа.
- П47. Інструктаж з БЖД. Практична робота №6. Створення структури документу. Автоматичне створення та опрацювання змісту.
- П48. Основи композиції і архітектоніки багатосторінкового видання
- П49. Використання полів злиття
- П50. Інструктаж з БЖД. Практична робота №7. Створення розсилок у текстовому процесорі.
- П51. Комп’ютерні публікації. Створення публікації на основі шаблону.
- П52. Буклет. Призначення. Принципи композиції. Види буклетів
- П53. Видавничі системи.
- П54. Електронні книги
- П55. Створення навчального проекту
- П56. Комп’ютерна верстка. Програми для комп’ютерної верстки.
- П57. Інструктаж з БЖД. Практична робота №8. Комп’ютерні публікації.
- П58-59. Практикум з використання інформаційних технологій.
-
Структура і способи виконання проектів мовою Python
- П61. Повторення. Мова програмування. Класифікація та складові мов програмування. Особливості середовища розробки.
- П62. Структура програмного проекту. Правила написання читабельного коду. Коментарі у тексті програми. Виконання програмного коду в інтерактивному режимі.
- П63. Практикум з використання інформаційних технологій
- П64. Практикум з використання інформаційних технологій
- П65. Виконання файлів програмного коду Інструктаж з БЖД. Практична робота №9. Створення, збереження, запуск проекту за заданим зразком
- П66. Основні елементи мови програмування Python. Поняття про перетворення типів даних. Змінні.
- П67. Бібліотеки мови програмування. Оператори і вирази. Логічні вирази. Таблиці істинності.
- П68. Модулі, функції і методи для опрацювання числових даних.
- П69. Інструктаж з БЖД. Практична робота №10. Побудова лінійних алгоритмів та їх реалізація у вигляді програм (проєктів)
- П70. Умовний оператор мовою програмування. Повна та скорочена форма оператора розгалуження
- П71. Послідовні та вкладені розгалуження
- П72. Оператори циклу
- П73. Порівняння операторів циклу
- П74. Поєднання повторення і розгалуження
- П75. Поняття рекурсії. Рекурентні послідовності. Вкладені цикли
- П76. Інструктаж з БЖД. Практична робота №11. Побудова алгоритмів з розгалуженнями та повтореннями, їх реалізація у вигляді програм (проєктів)
- П77. Виконання індивідуальних та колективних проектів
-
Вбудовані типи даних та їх опрацювання
- П75. Прості та структуровані типи. Поняття структур даних та їх класифікація. Лінійні структури даних. Списки.
- П76. Способи реалізації структур даних. Стек і черга. Багатовимірні списки
- П77. Кортежі, діапазони, множини
- П78. Інструктаж з БЖД. Практична робота №12. Робота з лінійними структурами даних у Python
- П80. Одновимірні масиви
- П81. Двовимірні масиви
- П82. Вказівники
- П83. Розв’язування практичних завдань з використанням різних структур даних
- П84. Інструктаж з БЖД. Практична робота №13. Алгоритми для роботи з масивами
-
Функції користувача і модулі мови Python
-
Класи, об’єкти, наслідування
-
Поліформізм, перевизначення методів, модулі користувача
-
Основи графічного інтерфейсу користувача
- П99. Елементи об’єктно-орієнтованого програмування. Основи графічного інтерфейсу користувача
- П100. Графічні об’єкти і їх властивості
- П101. Основні графічні об’єкти
- П102. Створення проєктів з використанням основних графічних об’єктів
- П103. Створення проєктів з використанням основних графічних об’єктів
- П104. Додаткові графічні об’єкти
- П106. Інструктаж з БЖД. Практична робота №17. Розробка програми з графічним інтерфейсом
- П107. Опрацювання подій
- П108. Меню
- П109. Діалогові вікна
- П110. Інструктаж з БЖД. Практична робота №18. Проектування об’єктної взаємодії
- П111. Графічні примітиви об’єкта Canvas
- П112. Створення проєктів з використанням основних графічних примітивів
0.00 на основі 0 рейтингів