Урок:

Графічний інтерфейс користувача

20.02.2024
0 0
Джерела використаної інформації: розкрити закрити
Теоретичний матеріал:
Інформатика : підруч. для 8 кл. закл. загал. серед. освіти / [О. О. Бондаренко, В. В. Ластовецький, О. П. Пилипчук, Є. А. Шестопалов]. — Харків : Вид-во «Ранок», 2021
Інтерактивні вправи:
https://learningapps.org/21557973
https://learningapps.org/12104832
Вміст уроку:
1
2
3
4
5

Урок не містить жодного завдання. Додайте завдання.

Щоб додати завдання, оберіть категорію завдання на панелі запитань.

1

Опрацюйте теоретичний матеріал:

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

Модуль tkinter (Tk) містить бібліотеку класів графічних компонентів, призначених для побудови інтерфейсу користувача.

Завантаження модуля tkinter:
import tkinter або from tkinter import*

Tk є базовим класом будь-якого застосунка на основі Tkinter.

Створимо об’єкт root класу Tk — порожнє вікно програми:
root = Tk()
Через змінну root ми можемо керувати атрибутами вікна. Далі у вікно додаються інші елементи керування.
Приклад:

Створимо порожнє графічне вікно:
from tkinter import*
root = Tk()
root.title('Графічна програма') # Встановити заголовок вікна
root.geometry('250x150') # Встановити розміри вікна (в пікселях)
root.mainloop() #командa запуску головного циклу обробки подій

Загальні властивості віджетів

Властивості елемента керування визначають, як цей елемент виглядає на екрані (наприклад, ширину і висоту, колір тощо). Початкові значення властивостей елемента керування встановлюються під час створення об’єкта.
Віджети створюються викликом конструктора відповідного класу:
[<змінна> = ]<клас>([<батьківський_віджет>[, <атрибут> = <значення>]])

Батьківський віджет — це елемент керування, до якого буде упаковано (поміщено) віджет.

Якщо батьківський віджет не задано, то віджет буде розміщено в головному вікні.
Більшість віджетів у Tkinter мають такі властивості, як висота (height), ширина (width), шрифт (font), колір віджета (bg), колір шрифту (fg) тощо.


Створений об’єкт потрібно показати у вікні. Для цього застосовуються методи-пакувальники:

  • place(x, y), де параметри x і y установлюють зміщення елемента по горизонталі й вертикалі;

  • pack() — розташування об'єктів в порядку додавання у вікно на вільне місце у вікні.

  • grid() — розташування об'єктів по рядках і стовпцях уявної таблиці.

Напис (об’єкт класу Label) містить рядок (або декілька рядків) тексту й застосовується для виведення заголовків, підписів інших елементів інтерфейсу тощо.

Приклад:

Додамо у вікно напис Hello World!.
lab = Label(root, text = 'Hello World!', font = 'Arial 18', bg = 'blue', fg = 'yellow')
lab.pack()

Методи віджетів

Класи графічних компонентів мають методи, за допомогою яких можна змінювати властивості об’єктів. Назву методу можна або ввести з клавіатури, або вибрати зі списку, який відкривається, якщо записати назву об’єкта й поставити крапку.


Кожен клас графічних компонентів має свій набір методів. Разом із тим деякі методи, наприклад такі як pack(), place(), config(), destroy(), є спільними для всіх віджетів.


Метод config() викликається для зміни властивостей віджета під час виконання програми. У дужках зазначають, яким атрибутам які значення слід присвоїти.

Приклад:

Змінимо текст та колір тла напису:
lab.config(text = 'Новий рядок', bg = 'red')

Метод destroy() викликається для знищення віджета.

Приклад:

Видалимо об’єкт lab:
lab.destroy()


Метод winfo_viewable() викликається, щоб з’ясувати, чи видимий об’єкт у вікні Метод повертає 1, якщо об’єкт видно у вікні, і 0, якщо ні.

Приклад:

Створити програму Годинник:

62.PNG


Проаналізуємо код. Функція
clock()призначена для відображення поточного часу у віджеті lab.


Змінна
now — це об’єкт datetime, який має атрибути hour (години), minute (хвилини), second (секунди) і отримує значення поточного часу від методу datetime.now(). У тілі функції clock() заголовок напису змінюється рядком, утвореним зі значень атрибутів об’єкта now.

Оператор root.config(bg = color[now.second%5]) в тілі функції clock() змінює колір фону вікна (властивість bg) при кожному виконанні функції clock().

2

8 з 12 балів

Виконайте інтерактивні вправи.

Скріни виконаних вправ прикріпіть до цього завдання.

3

1 з 12 балів

Який модуль містить описи класів графічних компонентів?

4

1 з 12 балів

Яка команда створює вікно програми?

5

2 з 12 балів

Відновіть порядок команд, які потрібні для створення вікна програми:

root = Tk()

root.mainloop()

from tkinter import*

root.geometry('300x100')

Рефлексія від 5 учнів

Сподобався:

0

Так: 4

Ні: 1

Зрозумілий:

0

Так: 4

Ні: 1

Потрібні роз'яснення:

0

Ні: 5

Так: 0

Рекомендуємо

Елементи вибору: прапорці, перемикачі

Елементи вибору: прапорці, перемикачі

44

Аватар профіля Федотова Наталія Олександрівна
Інформатика
8 клас

25 грн

§ 9. Створення інтерфейсу користувача

§ 9. Створення інтерфейсу користувача

463

Аватар профіля Киреєва Оксана Анатоліївна
Інформатика
7 клас

50 грн

Графічний інтерфейс, основні компоненти програми з графічним інтерфейсом

Графічний інтерфейс, основні компоненти програми з графічним інтерфейсом

350

Аватар профіля Лизько Валентина Степанівна
Інформатика
8 клас

25 грн

Графічний інтерфейс, основні компоненти програми з графічним інтерфейсом

Графічний інтерфейс, основні компоненти програми з графічним інтерфейсом

682

Аватар профіля Лизько Валентина Степанівна
Інформатика
8 клас

33 грн

10-11 клас. Урок 29. Графічний інтерфейс користувача (Python)

10-11 клас. Урок 29. Графічний інтерфейс користувача (Python)

119

Аватар профіля Вітенко Іван
Інформатика
10—11 клас

48 грн

8 клас. Урок 37. Графічний інтерфейс, основні компоненти програми з графічним інтерфейсом (Python)

8 клас. Урок 37. Графічний інтерфейс, основні компоненти програми з графічним інтерфейсом (Python)

191

Аватар профіля Вітенко Іван
Інформатика
8 клас

26 грн

Схожі уроки

Впорядкування, пошук і фільтрування даних.

Впорядкування, пошук і фільтрування даних.

1276

Аватар профіля Вожга Ірина Леонідівна
Інформатика
9 клас

Створення й уведення структури таблиць. Поняття таблиці, поля, запису. Створення таблиць, означення полів і ключів у середовищі СКБД. Властивості полів, типи даних.

Створення й уведення структури таблиць. Поняття таблиці, поля, запису. Створення таблиць, означення полів і ключів у середовищі СКБД. Властивості полів, типи даних.

1090

Аватар профіля Савка-Ржематорська Оксана Василівна
Інформатика
9 клас

Цикли з передумовою у вкладених циклах

Цикли з передумовою у вкладених циклах

1335

Аватар профіля Вожга Ірина Леонідівна
Інформатика
6 клас

Налаштування часових параметрів аудіо- та відеоряду.

Налаштування часових параметрів аудіо- та відеоряду.

489

Аватар профіля Солодовнікова Катерина Олексіївна
Інформатика
8 клас

Елемент керування «кнопка». Поняття об’єкту та його властивостей і методів (на прикладі елементів екранної форми). Властивості і методи елементів керування.

Елемент керування «кнопка». Поняття об’єкту та його властивостей і методів (на прикладі елементів екранної форми). Властивості і методи елементів керування.

642

Аватар профіля Пилипенко Олена Володимирівна
Інформатика
8 клас

Елемент керування кнопка

Елемент керування кнопка

267

Аватар профіля Пилипенко Олена Володимирівна
Інформатика
8 клас