SlideShare a Scribd company logo
1 of 6
Урок №____ 8___ клас 1 група ________________
2 група ________________
Тема: Основні компоненти програми для ОС з графічним інтерфейсом.
Інструктаж з БЖД
Мета:
 навчальна: пригадати поняття інтерфейсу користувача та його
різновидів, розглянути основні елементи програм з графічним
інтерфейсом, познайомити учнів з модулем tkinter та його основним
призначенням;
 розвивальна: розвивати логічне та алгоритмічнемислення; формувати
вміння діяти за інструкцією, планувати свою діяльність, аналізувати i
робити висновки;
 виховна: виховувати інформаційну культуру учнів, уважність,
акуратність, дисциплінованість.
Тип уроку:
 Засвоєння знань;
Обладнання та наочність: комп’ютери, проектор.
Хід уроку
І. Організаційний етап
Привітання з класом. Повідомлення теми і мети уроку
ІІ. Мотивація навчальної діяльності
ІІІ. Актуалізація опорних знань
Дайте відповідь на наступні запитання:
1. Що таке інтерфейс користувача?
2. Чим відрізняється графічний інтерфейс від текстового?
3. Який інтерфейс в основному має Python?
4. Як ви думаєте, чи вміє Python створювати програми з графічним
інтерфейсом?
IV. Пояснення нового матеріалу
Які особливості мають програми з графічним інтерфейсом?
Вам уже доводилося працювати з різними програмами, що мають
графічнийінтерфейс: редакторами, тренажерами, програмамидля виконання
обчислень, іграми тощо. Вони розроблені за допомогою певних середовищ
програмування та мають спільні ознаки:
 програма відкривається у вікні, розмір якого, як правило, можна змі-
нювати;
 графічний інтерфейс програми, який містить зображення значків,
меню, кнопки, текстові поля тощо, дає змогу користувачеві за
допомогою мишівиконуватипотрібні команди, змінювати значення
властивостей об’єктів і вводити за допомогою клавіатуритекстові та
числові дані;
 усі об’єкти, використані у програмі, мають властивості, які можна
змінювати;
 події, що відбуваються у програмі, пов’язані з певними об’єктами.
Наприклад, з об’єктом меню програми пов’язана подія, яка
викликається натисненням лівоїкнопкимиші на обраному розділі —
розгорнути список вказівок, що об’єднані в цьому розділі меню.
Python зазвичай використовується для створення програм з командним
інтерфейсом, але він має ряд модулів (бібліотек), які дозволяють створювати
програми з графічним інтерфейсом. Одним з таких модулів є модуль tkinter.
tkinter - це пакет для Python, призначений для роботи з бібліотекою Tk.
Бібліотека Tk містить компоненти графічного інтерфейсу користувача
(graphical user interface - GUI), написані на мові програмування Tcl.
Під графічнимінтерфейсом користувача(GUI)маються на увазівсіті вікна,
кнопки, текстові поля для введення, скролери, списки, перемикачі, прапорці
та ін., які ви бачите на екрані, відкриваючиту чи іншу програму. Через них ви
взаємодієте з програмою і керуєте нею. Всі ці елементи інтерфейсу разом
будемо називати віджетами (widgets).
В даний час майже всі програми, які створюються для кінцевого
користувача, мають GUI. Рідкісні програми, які передбачають взаємодію з
людиною, залишаються консольними.
Існує безліч бібліотек GUI. Tk далеко не найпопулярніша, хоча з її
використанням написано чимало проектів. Однак по ряду причин вона була
обрана для Python за замовчуванням. Установчий файл Python зазвичай вже
включає пакет tkinter в складі стандартної бібліотеки поряд з іншими
модулями.
Додатки з графічним інтерфейсом користувача подійно-орієнтовані, які
орієнтовані на події. Тобто та чи інша частина програмного коду починає
виконуватися лише тоді, коли трапляється та чи інша подія.
Подійно-орієнтоване програмування базується на об'єктно-
орієнтованому і структурному. Навіть якщо мине створюємо власних класів та
об'єктів, то все-одно ними користуємося. Всі віджети - об'єкти, породжені
вбудованими класами.
Подіїбуваютьрізними. Спрацювавчасовийчинник, хтось клікнувмишкою
або натиснув Enter, почав вводититекст, обрав перемикач, прокрутивсторінку
вниз і т.д. Колитрапляється щось подібне, то, якщо був створений відповідний
обробник, відбувається спрацьовування певної частини програми, що
приводить до якого-небудь результату.
Для початку роботи з tkinter його потрібно імпортувати в програму. Це
можна зробити за допомогою конструкції:
або:
Можна також імпортуватиокремікласи,алецеробиться доситьрідко.Ми
будемо використовувати в основному другий спосіб імпорту модуля
(пригадаємо: модуль завжди імпортується на початку програми)
Далі, щоб написати GUI-програму, треба виконати приблизно наступне:
1. Створити головне вікно (форму).
2. Створити віджети і конфігурувати їх властивості (опцій).
3. Визначити події, тобто те, на що буде реагувати програма.
4. Визначити обробники подій, тобто те, як буде реагувати програма.
5. Розташувати віджети в головному вікні.
6. Запустити цикл обробки подій.
Послідовність не обов'язково така, але перший і останній пункти завжди
залишаються на своїх місцях.
З кожним з цих пунктів ми будемо зустрічатись по мірі вивчення теми.
Сьогодні ж наше завдання – створити найпростішу програму з текстовим
інтерфейсом, яка згенерує вікно з певним заголовком заданого розміру та
кольору.
Для створення програми з графічним інтерфейсом, виконаємо наступні
кроки:
1. Імпорт модуля tkinter:
Для імпорту модуля використаємо наступний код:
2. Створення вікна програми:
Екранна форма—це вікно, що містить візуальніграфічніелементи або об’єкти
управління, такі як меню, кнопки. Для створення вікна, використовується
функція Tk(). Вона має наступну структуру:
Оскільки вікон ми можемо створити досить багато, для їх ідентифікації
потрібно використовувати унікальні імена (для імен вікон актуальні ті ж
вимоги що і для змінних). Наприклад:
Якщо зберегти і запусти написану нами програму (всього дві стрічки), ми
отримаємо наступний результат:
3. Задання властивостей вікна:
З попереднього пункту, бачимо, що програма згенерувала вікно стандартного
розміру, кольору та деяким заголовком. Якщо ж ми хочемо змінити ці
налаштування, нам потрібно звертатись до властивостей вікна, а саме:
title(‘text’) - задає заголовок вікна (по замовчуванню встановлюється “tk”)
geometry(‘W x H + x + y’) - задає розміри та розташування вікна (W – ширина, H
– висота, x – відступ від лівого краю, y – відступ від правого краю). Задається в пікселях.
Параметри x та y – необов’язкові.
[‘bg’] - задає колір вікна.
minsize(x, y) - задає мінімальнийрозмір вікна (x – ширина, y – висота) у пікселях.
Якщо не задавати – вікно не матиме обмежень у зменшені.
maxsize(x, y) - задає максимальний розмір вікна (x – ширина, y – висота) у пікселях.
Якщо не задавати – вікно не матиме обмежень у збільшені.
resizable(x, y) - вказує чи може користувач змінювати розміри вікна і на скільки.
Для заборони зміни розмірів встановлюємо значення x та y в 0.
Для прикладу, задамо створеному вікну синійколір, заголовок – «Привіт
світ!», розмір – 500 на 250 пікселів та заборонимо користувачу змінювати
розміри вікна:
Запустившипрограму на виконання, отримаємо наступнийрезультат:
4. Запуск циклу обробки подій:
Для завершення роботи з вікном необхідно використати метод 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 для перевірки.

More Related Content

Similar to Lesson # 46. the main components of the application for the operating system with a graphical interface. bzd briefing

Календарне планування 8 клас - Інформатика - Python
Календарне планування 8 клас - Інформатика - PythonКалендарне планування 8 клас - Інформатика - Python
Календарне планування 8 клас - Інформатика - PythonVsimPPT
 
Календарне планування 8 клас - Інформатика - Lazarus
Календарне планування 8 клас - Інформатика - LazarusКалендарне планування 8 клас - Інформатика - Lazarus
Календарне планування 8 клас - Інформатика - LazarusVsimPPT
 
Календарне планування 8 клас - Інформатика - Python
Календарне планування 8 клас - Інформатика - PythonКалендарне планування 8 клас - Інформатика - Python
Календарне планування 8 клас - Інформатика - PythonVsimPPTX
 
Календарне планування 8 клас - Інформатика - Lazarus
Календарне планування 8 клас - Інформатика - LazarusКалендарне планування 8 клас - Інформатика - Lazarus
Календарне планування 8 клас - Інформатика - LazarusVsimPPT
 
Календарне планування 8 клас - Інформатика - Python
Календарне планування 8 клас - Інформатика - PythonКалендарне планування 8 клас - Інформатика - Python
Календарне планування 8 клас - Інформатика - PythonVsimPPT
 
iPhone Objective-C Development (ukr) (2009)
iPhone Objective-C Development (ukr) (2009)iPhone Objective-C Development (ukr) (2009)
iPhone Objective-C Development (ukr) (2009)Anatoliy Okhotnikov
 
Калентарно-тематичне планування для 11 класу
Калентарно-тематичне планування для 11 класуКалентарно-тематичне планування для 11 класу
Калентарно-тематичне планування для 11 класуVsimPPT
 
Vivid texty metod print
Vivid texty metod printVivid texty metod print
Vivid texty metod printmetallurg056
 
Створення простої комп’ютерної публікації на базі шаблону.pptx
Створення простої комп’ютерної публікації на базі шаблону.pptxСтворення простої комп’ютерної публікації на базі шаблону.pptx
Створення простої комп’ютерної публікації на базі шаблону.pptxMichaela952976
 
Календарне планування 8 клас - Інформатика - Lazarus
Календарне планування 8 клас - Інформатика - LazarusКалендарне планування 8 клас - Інформатика - Lazarus
Календарне планування 8 клас - Інформатика - LazarusVsimPPT
 
Mka python jr-urok_01_ua_1563258764
Mka python jr-urok_01_ua_1563258764Mka python jr-urok_01_ua_1563258764
Mka python jr-urok_01_ua_1563258764PavloTsiura
 

Similar to Lesson # 46. the main components of the application for the operating system with a graphical interface. bzd briefing (20)

Less4
Less4Less4
Less4
 
Календарне планування 8 клас - Інформатика - Python
Календарне планування 8 клас - Інформатика - PythonКалендарне планування 8 клас - Інформатика - Python
Календарне планування 8 клас - Інформатика - Python
 
Календарне планування 8 клас - Інформатика - Lazarus
Календарне планування 8 клас - Інформатика - LazarusКалендарне планування 8 клас - Інформатика - Lazarus
Календарне планування 8 клас - Інформатика - Lazarus
 
урок 7
урок 7урок 7
урок 7
 
FunctionGraph
FunctionGraphFunctionGraph
FunctionGraph
 
Календарне планування 8 клас - Інформатика - Python
Календарне планування 8 клас - Інформатика - PythonКалендарне планування 8 клас - Інформатика - Python
Календарне планування 8 клас - Інформатика - Python
 
розділ 3 перший проект 1
розділ 3 перший проект 1розділ 3 перший проект 1
розділ 3 перший проект 1
 
Календарне планування 8 клас - Інформатика - Lazarus
Календарне планування 8 клас - Інформатика - LazarusКалендарне планування 8 клас - Інформатика - Lazarus
Календарне планування 8 клас - Інформатика - Lazarus
 
Календарне планування 8 клас - Інформатика - Python
Календарне планування 8 клас - Інформатика - PythonКалендарне планування 8 клас - Інформатика - Python
Календарне планування 8 клас - Інформатика - Python
 
Less19
Less19Less19
Less19
 
Python
PythonPython
Python
 
Урок №5 8 клас
Урок №5 8 класУрок №5 8 клас
Урок №5 8 клас
 
iPhone Objective-C Development (ukr) (2009)
iPhone Objective-C Development (ukr) (2009)iPhone Objective-C Development (ukr) (2009)
iPhone Objective-C Development (ukr) (2009)
 
урок 6
урок 6урок 6
урок 6
 
Калентарно-тематичне планування для 11 класу
Калентарно-тематичне планування для 11 класуКалентарно-тематичне планування для 11 класу
Калентарно-тематичне планування для 11 класу
 
Vivid texty metod print
Vivid texty metod printVivid texty metod print
Vivid texty metod print
 
Створення простої комп’ютерної публікації на базі шаблону.pptx
Створення простої комп’ютерної публікації на базі шаблону.pptxСтворення простої комп’ютерної публікації на базі шаблону.pptx
Створення простої комп’ютерної публікації на базі шаблону.pptx
 
Календарне планування 8 клас - Інформатика - Lazarus
Календарне планування 8 клас - Інформатика - LazarusКалендарне планування 8 клас - Інформатика - Lazarus
Календарне планування 8 клас - Інформатика - Lazarus
 
6 клас урок 8
6 клас урок 86 клас урок 8
6 клас урок 8
 
Mka python jr-urok_01_ua_1563258764
Mka python jr-urok_01_ua_1563258764Mka python jr-urok_01_ua_1563258764
Mka python jr-urok_01_ua_1563258764
 

More from Nikolay Shaygorodskiy (20)

план проведення тижня музичного мистецтва
план проведення тижня музичного мистецтваплан проведення тижня музичного мистецтва
план проведення тижня музичного мистецтва
 
Mystetstvo
MystetstvoMystetstvo
Mystetstvo
 
Mathematics
MathematicsMathematics
Mathematics
 
History
HistoryHistory
History
 
Health basics
Health basicsHealth basics
Health basics
 
English language elementary school
English language elementary schoolEnglish language elementary school
English language elementary school
 
English
EnglishEnglish
English
 
Elementary school
Elementary schoolElementary school
Elementary school
 
Biology
BiologyBiology
Biology
 
Biology
BiologyBiology
Biology
 
Geography
GeographyGeography
Geography
 
Computer science
Computer scienceComputer science
Computer science
 
10 11
10 1110 11
10 11
 
5 9
5 95 9
5 9
 
1 4
1 41 4
1 4
 
Minutes no.20 (director's report 2021)
Minutes no.20 (director's report 2021)Minutes no.20 (director's report 2021)
Minutes no.20 (director's report 2021)
 
Director's report for 2020 2021 academic year
Director's report for 2020 2021 academic yearDirector's report for 2020 2021 academic year
Director's report for 2020 2021 academic year
 
Order no.106u
Order no.106uOrder no.106u
Order no.106u
 
Order no.105 u
Order no.105 uOrder no.105 u
Order no.105 u
 
Order no.104 u
Order no.104 uOrder no.104 u
Order no.104 u
 

Recently uploaded

О.Духнович - пророк народної правди. Біографія
О.Духнович - пророк народної правди. БіографіяО.Духнович - пророк народної правди. Біографія
О.Духнович - пророк народної правди. БіографіяAdriana Himinets
 
Застосування Гайду безбар’єрності в роботі закладів культури громад Одещини.pdf
Застосування Гайду безбар’єрності в роботі закладів культури громад Одещини.pdfЗастосування Гайду безбар’єрності в роботі закладів культури громад Одещини.pdf
Застосування Гайду безбар’єрності в роботі закладів культури громад Одещини.pdfssuser15a891
 
Відкрита лекція на тему «Контроль бур'янів в посівах соняшника»
Відкрита лекція на тему «Контроль бур'янів в посівах соняшника»Відкрита лекція на тему «Контроль бур'янів в посівах соняшника»
Відкрита лекція на тему «Контроль бур'янів в посівах соняшника»tetiana1958
 
Презентациія для сайта Група «Незабудка».pptx
Презентациія для сайта Група «Незабудка».pptxПрезентациія для сайта Група «Незабудка».pptx
Презентациія для сайта Група «Незабудка».pptxOlgaDidenko6
 
Р.Шеклі "Запах думки". Аналіз оповідання
Р.Шеклі "Запах думки". Аналіз оповіданняР.Шеклі "Запах думки". Аналіз оповідання
Р.Шеклі "Запах думки". Аналіз оповіданняAdriana Himinets
 
ЛЕКЦІЯ Засоби масової інформації –важливий інструмент ПР.ppt
ЛЕКЦІЯ Засоби масової інформації –важливий інструмент ПР.pptЛЕКЦІЯ Засоби масової інформації –важливий інструмент ПР.ppt
ЛЕКЦІЯ Засоби масової інформації –важливий інструмент ПР.pptssuser59e649
 
атестація 2023-2024 Kewmrbq wtynh GNJ.pdf
атестація 2023-2024 Kewmrbq wtynh GNJ.pdfатестація 2023-2024 Kewmrbq wtynh GNJ.pdf
атестація 2023-2024 Kewmrbq wtynh GNJ.pdfhome
 
Принципові відмінності досконалої (повної) конкуренції від інших форм організ...
Принципові відмінності досконалої (повної) конкуренції від інших форм організ...Принципові відмінності досконалої (повної) конкуренції від інших форм організ...
Принципові відмінності досконалої (повної) конкуренції від інших форм організ...JurgenstiX
 
Бібліотека – розвиток дитячої творчості та дозвілля для дітейpptx
Бібліотека – розвиток дитячої творчості  та дозвілля для дітейpptxБібліотека – розвиток дитячої творчості  та дозвілля для дітейpptx
Бібліотека – розвиток дитячої творчості та дозвілля для дітейpptxssuserc301ed1
 
Іваніщук Надія Вікторівна атестація .pdf
Іваніщук Надія Вікторівна атестація  .pdfІваніщук Надія Вікторівна атестація  .pdf
Іваніщук Надія Вікторівна атестація .pdfhome
 
Хімічні елементи в літературних творах 8 клас
Хімічні елементи в літературних творах 8 класХімічні елементи в літературних творах 8 клас
Хімічні елементи в літературних творах 8 класkrementsova09nadya
 
Бомбочки для ванни своїми руками презентація
Бомбочки для ванни своїми руками презентаціяБомбочки для ванни своїми руками презентація
Бомбочки для ванни своїми руками презентаціяssuser0a4f48
 
upd.18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23_FINAL.pdf
upd.18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23_FINAL.pdfupd.18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23_FINAL.pdf
upd.18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23_FINAL.pdfssuser54595a
 

Recently uploaded (14)

О.Духнович - пророк народної правди. Біографія
О.Духнович - пророк народної правди. БіографіяО.Духнович - пророк народної правди. Біографія
О.Духнович - пророк народної правди. Біографія
 
Застосування Гайду безбар’єрності в роботі закладів культури громад Одещини.pdf
Застосування Гайду безбар’єрності в роботі закладів культури громад Одещини.pdfЗастосування Гайду безбар’єрності в роботі закладів культури громад Одещини.pdf
Застосування Гайду безбар’єрності в роботі закладів культури громад Одещини.pdf
 
Відкрита лекція на тему «Контроль бур'янів в посівах соняшника»
Відкрита лекція на тему «Контроль бур'янів в посівах соняшника»Відкрита лекція на тему «Контроль бур'янів в посівах соняшника»
Відкрита лекція на тему «Контроль бур'янів в посівах соняшника»
 
Презентациія для сайта Група «Незабудка».pptx
Презентациія для сайта Група «Незабудка».pptxПрезентациія для сайта Група «Незабудка».pptx
Презентациія для сайта Група «Незабудка».pptx
 
Р.Шеклі "Запах думки". Аналіз оповідання
Р.Шеклі "Запах думки". Аналіз оповіданняР.Шеклі "Запах думки". Аналіз оповідання
Р.Шеклі "Запах думки". Аналіз оповідання
 
ЛЕКЦІЯ Засоби масової інформації –важливий інструмент ПР.ppt
ЛЕКЦІЯ Засоби масової інформації –важливий інструмент ПР.pptЛЕКЦІЯ Засоби масової інформації –важливий інструмент ПР.ppt
ЛЕКЦІЯ Засоби масової інформації –важливий інструмент ПР.ppt
 
атестація 2023-2024 Kewmrbq wtynh GNJ.pdf
атестація 2023-2024 Kewmrbq wtynh GNJ.pdfатестація 2023-2024 Kewmrbq wtynh GNJ.pdf
атестація 2023-2024 Kewmrbq wtynh GNJ.pdf
 
Принципові відмінності досконалої (повної) конкуренції від інших форм організ...
Принципові відмінності досконалої (повної) конкуренції від інших форм організ...Принципові відмінності досконалої (повної) конкуренції від інших форм організ...
Принципові відмінності досконалої (повної) конкуренції від інших форм організ...
 
Бібліотека – розвиток дитячої творчості та дозвілля для дітейpptx
Бібліотека – розвиток дитячої творчості  та дозвілля для дітейpptxБібліотека – розвиток дитячої творчості  та дозвілля для дітейpptx
Бібліотека – розвиток дитячої творчості та дозвілля для дітейpptx
 
Віртуальна виставка нових надходжень 2-24.pptx
Віртуальна виставка нових надходжень 2-24.pptxВіртуальна виставка нових надходжень 2-24.pptx
Віртуальна виставка нових надходжень 2-24.pptx
 
Іваніщук Надія Вікторівна атестація .pdf
Іваніщук Надія Вікторівна атестація  .pdfІваніщук Надія Вікторівна атестація  .pdf
Іваніщук Надія Вікторівна атестація .pdf
 
Хімічні елементи в літературних творах 8 клас
Хімічні елементи в літературних творах 8 класХімічні елементи в літературних творах 8 клас
Хімічні елементи в літературних творах 8 клас
 
Бомбочки для ванни своїми руками презентація
Бомбочки для ванни своїми руками презентаціяБомбочки для ванни своїми руками презентація
Бомбочки для ванни своїми руками презентація
 
upd.18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23_FINAL.pdf
upd.18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23_FINAL.pdfupd.18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23_FINAL.pdf
upd.18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23_FINAL.pdf
 

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 для перевірки.