Lesson # 46. the main components of the application for the operating system with a graphical interface. bzd briefing
1. Урок №____ 8___ клас 1 група ________________
2 група ________________
Тема: Основні компоненти програми для ОС з графічним інтерфейсом.
Інструктаж з БЖД
Мета:
навчальна: пригадати поняття інтерфейсу користувача та його
різновидів, розглянути основні елементи програм з графічним
інтерфейсом, познайомити учнів з модулем tkinter та його основним
призначенням;
розвивальна: розвивати логічне та алгоритмічнемислення; формувати
вміння діяти за інструкцією, планувати свою діяльність, аналізувати i
робити висновки;
виховна: виховувати інформаційну культуру учнів, уважність,
акуратність, дисциплінованість.
Тип уроку:
Засвоєння знань;
Обладнання та наочність: комп’ютери, проектор.
Хід уроку
І. Організаційний етап
Привітання з класом. Повідомлення теми і мети уроку
ІІ. Мотивація навчальної діяльності
ІІІ. Актуалізація опорних знань
Дайте відповідь на наступні запитання:
1. Що таке інтерфейс користувача?
2. Чим відрізняється графічний інтерфейс від текстового?
3. Який інтерфейс в основному має Python?
4. Як ви думаєте, чи вміє Python створювати програми з графічним
інтерфейсом?
IV. Пояснення нового матеріалу
Які особливості мають програми з графічним інтерфейсом?
Вам уже доводилося працювати з різними програмами, що мають
графічнийінтерфейс: редакторами, тренажерами, програмамидля виконання
обчислень, іграми тощо. Вони розроблені за допомогою певних середовищ
програмування та мають спільні ознаки:
програма відкривається у вікні, розмір якого, як правило, можна змі-
нювати;
2. графічний інтерфейс програми, який містить зображення значків,
меню, кнопки, текстові поля тощо, дає змогу користувачеві за
допомогою мишівиконуватипотрібні команди, змінювати значення
властивостей об’єктів і вводити за допомогою клавіатуритекстові та
числові дані;
усі об’єкти, використані у програмі, мають властивості, які можна
змінювати;
події, що відбуваються у програмі, пов’язані з певними об’єктами.
Наприклад, з об’єктом меню програми пов’язана подія, яка
викликається натисненням лівоїкнопкимиші на обраному розділі —
розгорнути список вказівок, що об’єднані в цьому розділі меню.
Python зазвичай використовується для створення програм з командним
інтерфейсом, але він має ряд модулів (бібліотек), які дозволяють створювати
програми з графічним інтерфейсом. Одним з таких модулів є модуль tkinter.
tkinter - це пакет для Python, призначений для роботи з бібліотекою Tk.
Бібліотека Tk містить компоненти графічного інтерфейсу користувача
(graphical user interface - GUI), написані на мові програмування Tcl.
Під графічнимінтерфейсом користувача(GUI)маються на увазівсіті вікна,
кнопки, текстові поля для введення, скролери, списки, перемикачі, прапорці
та ін., які ви бачите на екрані, відкриваючиту чи іншу програму. Через них ви
взаємодієте з програмою і керуєте нею. Всі ці елементи інтерфейсу разом
будемо називати віджетами (widgets).
В даний час майже всі програми, які створюються для кінцевого
користувача, мають GUI. Рідкісні програми, які передбачають взаємодію з
людиною, залишаються консольними.
Існує безліч бібліотек GUI. Tk далеко не найпопулярніша, хоча з її
використанням написано чимало проектів. Однак по ряду причин вона була
обрана для Python за замовчуванням. Установчий файл Python зазвичай вже
включає пакет tkinter в складі стандартної бібліотеки поряд з іншими
модулями.
Додатки з графічним інтерфейсом користувача подійно-орієнтовані, які
орієнтовані на події. Тобто та чи інша частина програмного коду починає
виконуватися лише тоді, коли трапляється та чи інша подія.
3. Подійно-орієнтоване програмування базується на об'єктно-
орієнтованому і структурному. Навіть якщо мине створюємо власних класів та
об'єктів, то все-одно ними користуємося. Всі віджети - об'єкти, породжені
вбудованими класами.
Подіїбуваютьрізними. Спрацювавчасовийчинник, хтось клікнувмишкою
або натиснув Enter, почав вводититекст, обрав перемикач, прокрутивсторінку
вниз і т.д. Колитрапляється щось подібне, то, якщо був створений відповідний
обробник, відбувається спрацьовування певної частини програми, що
приводить до якого-небудь результату.
Для початку роботи з tkinter його потрібно імпортувати в програму. Це
можна зробити за допомогою конструкції:
або:
Можна також імпортуватиокремікласи,алецеробиться доситьрідко.Ми
будемо використовувати в основному другий спосіб імпорту модуля
(пригадаємо: модуль завжди імпортується на початку програми)
Далі, щоб написати GUI-програму, треба виконати приблизно наступне:
1. Створити головне вікно (форму).
2. Створити віджети і конфігурувати їх властивості (опцій).
3. Визначити події, тобто те, на що буде реагувати програма.
4. Визначити обробники подій, тобто те, як буде реагувати програма.
5. Розташувати віджети в головному вікні.
6. Запустити цикл обробки подій.
Послідовність не обов'язково така, але перший і останній пункти завжди
залишаються на своїх місцях.
З кожним з цих пунктів ми будемо зустрічатись по мірі вивчення теми.
Сьогодні ж наше завдання – створити найпростішу програму з текстовим
інтерфейсом, яка згенерує вікно з певним заголовком заданого розміру та
кольору.
Для створення програми з графічним інтерфейсом, виконаємо наступні
кроки:
1. Імпорт модуля tkinter:
4. Для імпорту модуля використаємо наступний код:
2. Створення вікна програми:
Екранна форма—це вікно, що містить візуальніграфічніелементи або об’єкти
управління, такі як меню, кнопки. Для створення вікна, використовується
функція Tk(). Вона має наступну структуру:
Оскільки вікон ми можемо створити досить багато, для їх ідентифікації
потрібно використовувати унікальні імена (для імен вікон актуальні ті ж
вимоги що і для змінних). Наприклад:
Якщо зберегти і запусти написану нами програму (всього дві стрічки), ми
отримаємо наступний результат:
3. Задання властивостей вікна:
З попереднього пункту, бачимо, що програма згенерувала вікно стандартного
розміру, кольору та деяким заголовком. Якщо ж ми хочемо змінити ці
налаштування, нам потрібно звертатись до властивостей вікна, а саме:
title(‘text’) - задає заголовок вікна (по замовчуванню встановлюється “tk”)
geometry(‘W x H + x + y’) - задає розміри та розташування вікна (W – ширина, H
– висота, x – відступ від лівого краю, y – відступ від правого краю). Задається в пікселях.
Параметри x та y – необов’язкові.
5. [‘bg’] - задає колір вікна.
minsize(x, y) - задає мінімальнийрозмір вікна (x – ширина, y – висота) у пікселях.
Якщо не задавати – вікно не матиме обмежень у зменшені.
maxsize(x, y) - задає максимальний розмір вікна (x – ширина, y – висота) у пікселях.
Якщо не задавати – вікно не матиме обмежень у збільшені.
resizable(x, y) - вказує чи може користувач змінювати розміри вікна і на скільки.
Для заборони зміни розмірів встановлюємо значення x та y в 0.
Для прикладу, задамо створеному вікну синійколір, заголовок – «Привіт
світ!», розмір – 500 на 250 пікселів та заборонимо користувачу змінювати
розміри вікна:
Запустившипрограму на виконання, отримаємо наступнийрезультат:
4. Запуск циклу обробки подій:
6. Для завершення роботи з вікном необхідно використати метод mainloop.
Метод mainloop() об'єкта Tk запускаєголовнийцикл обробкиподій,що в тому
числі призводить до відображення головного вікна з усіма його елементами
на екрані. Синтаксис метода аналогічний до інших властивостей головного
вікна. В нашому випадку, це:
Таким чином, виконавши всього 4 пункти, ми змогли створити пусте вікно
програми з графічним інтерфейсом. В подальшому, ми з вами навчимось
додавати до нього елементи керування (віджети), застосовувати до них події
та призначати обробники цих подій.
V. Підсумки уроку
1. Підсумкове опитування:
1) Які види інтерфейсу ви знаєте? Чим вони відрізняються?
2) Що таке екранна форма?
3) Що може розміщуватися на формі?
4) Як називається модуль для створення графічного інтерфейсу
користувача на мові Python? Як його підключити
5) Як створити вікно на мові Python, використовуючи модуль tkinter()?
6) Які властивості можна надати вікну? Як їх застосувати?
2. Рефлексія
мені було незрозуміло…;
у мене виникли такі запитання…;
я не впорався з такими завданням…;
мені сподобалось і я буду використовувати…
VI. Домашнє завдання
1. Опрацювати конспект уроку
2. Опрацювати додаткові матеріали до уроку
3. Написати програму, яка створить вікно з наступними властивостями:
- Заголовок – «Програма з графічним інтерфейсом»;
- Розміри: ширина – 550, висота – 325, відступ зліва – 300, відступ
зверху – 420 пікселів;
- Колір –обратиколіріз запропонованоїтаблицікольорівнавласний
смак;
- Мінімальний розмір вікна – 50 на 25 пікселів.
4. Створену програму переслати по E-mail для перевірки.