Настав час створити перші графічні форми Tkinter у Python. Tkinter — це крута бібліотека, яка дозволяє робити справжні вікна, кнопки, текстові поля й інші елементи інтерфейсу.
Скажемо “бувай” нудній консолі — тепер усе буде красиво та кольорово! 🎨🖱️

Про форми Tkinter
Уявіть, що ви хочете зробити власну програму, де можна натискати кнопки, бачити повідомлення або навіть вводити текст. Для цього не обов’язково бути профі в дизайні — достатньо знати Tkinter. Це бібліотека у Python, яка дозволяє створювати справжні вікна з кнопками, написами, полями вводу та багатьма іншими елементами. Замість тексту в консолі ви зможете робити все мишкою, як у справжніх додатках. Ось кілька прикладів простих форм:

Сьогодні ми розглянемо елементи Label – підпис та Button – кнопка.
Label
— підпис (текст на формі)
label = tk.Label(root, text="Привіт, світе!")
Властивість | Що робить | Приклад |
---|---|---|
text | Текст, який відображається | text="Привіт!" |
bg | Колір фону підпису | bg="yellow" |
fg | Колір тексту | fg="blue" |
font | Шрифт тексту (тип, розмір, стиль) | font=("Arial", 14, "bold") |
width | Ширина в символах | width=20 |
height | Висота в рядках | height=2 |
Button
— кнопка
button = tk.Button(root, text="Натисни мене!")
Властивість | Що робить | Приклад |
---|---|---|
text | Текст на кнопці | text="Пуск" |
bg | Колір кнопки | bg="green" |
fg | Колір тексту на кнопці | fg="white" |
font | Шрифт тексту | font=("Comic Sans MS", 12) |
command | Функція, яка викликається при натисканні | command=my_function |
width | Ширина кнопки в символах | width=15 |
height | Висота в рядках | height=2 |
Практика. Форми Tkinter у Python
Не натискай мене!
1: Для початку створимо пусту форму. Вкажемо її розмір та колір. Змініть колір та розмір на свій власний.
import tkinter as tk
import random
# функції
# основна програма
window = tk.Tk() # Створюємо форму
window.title("Кнопка") # Назва форми
window.geometry("400x300") # Розмір
window.configure(bg="#CCF2FF") # Колір фону
# Кінець
window.mainloop() # Запуск форми

2: У блоці “функції” Напишімо повідомлення, які будуть виводитися, якщо на кнопку натиснути та функцію, яка за це відповідає. Поки повідомлень всього 2, пізніше ми напишемо цікавіші повідомлення
# Повідомлення після натискання кнопки
reactions = [
"О, ні!",
"Ой!"
]
def naughty_button():
label2.config(text=random.choice(reactions))
3: У блоці “Основна програма” створимо три елементи:
1. Напис-попередження, що не можна натискати кнопку.
2. Кнопку. Якщо її натиснути, то запуститься функція naughty_button.
3. Напис-реакція на натискання кнопки.
# Попереджувальний текст
label1 = tk.Label(window, text="‼ Не натискай цю кнопку ‼",
bg="#CCF2FF", fg="#CC0000")
label1.pack(pady=30)
# Заборонена кнопка
button = tk.Button(window, text="Не натискай! 😬",
bg="#FF6666", fg="white", command=naughty_button)
button.pack()
# Місце для реакції
label2 = tk.Label(window, text="", bg="#CCF2FF", fg="#003366")
label2.pack(pady=30)
Чудово! Час запустити форму. Якщо все вірно, ви побачите вікно з кнопкою. Спробуйте натиснути на неї та подивитися, чи побачите ви повідомлення

4: Тепер додайте цікавіші реакції на кнопку. Змініть список reactions, допишіть туди 4-5 варіантів реакцій. Протестуйте нові реакції Ось приклад ідей:

5: Змініть кольори на формі.
6 (Додаткове): Створіть кнопку з випадковим вітанням. При натисканні кнопки має з’являтися випадкове привітання.
Кнопки-рекомендації
7: У блоці “функції” додайте нову функцію, яка буде рекомендувати книгу. Змініть назву книги на ту, яку б ви порекомендували прочитати.
# рекомендації
def recommend(topic, color):
if topic=="book":
myText="Book: Harry Potter"
alisa.config(text=myText)
alisa.config(bg=color)
8: У блоці “Основна програма” додайте кнопку Books, при натисканні на яку має рекомендуватися книга. Рекомендація з’явиться у полі label під назвою alisa.
# Рекомендації
borys=tk.Button(window, text="Books", bg="yellow",
command= lambda: recommend("book", "yellow"))
borys.pack()
alisa= tk.Label(window, text="")
alisa.pack(pady=30)
9: Додайте кнопки для рекомендацій (копія кнопки borys): Фільм, Музика, Подорож. Допишіть функцію recommend, щоб вона рекомендувала все зазначене.

10: Змініть кольори та розмір форми


Домашня робота
1: Змініть форму класної роботи: назву форми, розмір форми, кольори на формі. Додайте 3-5 варіантів реакції для програми “Не натискай цю кнопку”
2: Додайте кнопки для рекомендацій (копія кнопки borys): Фільм, Музика, Подорож. Допишіть функцію recommend, щоб вона рекомендувала фільм, якщо натиснули кнопку Фільм, музику….
3: Створіть кнопки: Новинки у світі технологій, Новини спорту, Погода, Курс валют. По кліку на кожну кнопку повинна писатися новина. Для “Новинки у світі технологій” має з’явитися новина про подію у світі технологій (загугліть якусь новину). Для “Погода” має з’явитись повідомлення про погоду на завтра. Для “Курс валют” має з’явитися повідомлення про курс будь-якої з валют.


Level Up!
Форми Tkinter у Python
1: Створіть кнопку-клікер. Коли натискаєш на кнопку, на форму має виводитись кількість натискань.
Підказка: створіть змінну clicks=0 на початку програми. А на початку функції, яка рахуватиме кліки, додайте рядок global clicks. Тоді функція буде використовувати змінну, яка відома всій програмі.
2: Створіть список привітань або побажань 3-5 шт. (Наприклад: “Котик каже тобі «няв» і дарує обійми 🐱”) і список кольорів. Створіть кнопку, яка виводитиме випадкове привітання випадкового кольору тексту і випадкового кольору фону.

Більше команд дивіться тут . Не зупиняйтесь у вивченні Python! До зустрічі на наступних уроках!