Семінар з програмного забезпечення

Підручники з програмного забезпечення => Python => Тема розпочата: Sehza від Квт. 01, 2025, 01:16 PM

Назва: Python Tkinter Віджети: Приклади та Практичне Застосування
Відправено: Sehza від Квт. 01, 2025, 01:16 PM

Python — одна з найпопулярніших мов програмування у світі, а бібліотека Tkinter є стандартним інструментом для створення графічних інтерфейсів користувача (GUI). У цій статті ми розглянемо основні віджети Tkinter, надамо приклади коду та пояснимо, як їх використовувати для створення простих, але функціональних програм. Цей матеріал буде корисним як для початківців, так і для тих, хто хоче поглибити свої знання в розробці GUI на Python.

Що таке Tkinter і чому варто його використовувати?
Tkinter — це вбудована бібліотека Python, яка дозволяє створювати віконні додатки з кнопками, текстовими полями, мітками та іншими елементами інтерфейсу. Вона проста у використанні, легка для освоєння та підходить для створення як невеликих утиліт, так і більш складних програм. Завдяки своїй універсальності, Tkinter є чудовим вибором для розробників-початківців.

Основні віджети Tkinter: Приклади з кодом
Нижче наведено приклади найпоширеніших віджетів Tkinter із поясненнями та кодом. Ви можете скопіювати ці приклади та протестувати їх самостійно.

1. Мітка (Label)
Мітка використовується для відображення тексту або зображень у вікні.

import tkinter as tk

window = tk.Tk()
window.title("Приклад Tkinter")
window.geometry("300x200")

label = tk.Label(window, text="Привіт, це мітка!", font=("Arial", 14))
label.pack(pady=20)

window.mainloop()


У цьому прикладі ми створили просте вікно з текстом "Привіт, це мітка!". Метод pack() розміщує віджет у центрі.

2. Кнопка (Button)
Кнопка дозволяє користувачу виконувати дії при натисканні.

import tkinter as tk

def button_click():
    label.config(text="Ти натиснув кнопку!")

window = tk.Tk()
window.title("Кнопка Tkinter")
window.geometry("300x200")

label = tk.Label(window, text="Натисни кнопку нижче", font=("Arial", 12))
label.pack(pady=10)

button = tk.Button(window, text="Натисни мене", command=button_click, bg="green", fg="white")
button.pack(pady=10)

window.mainloop()


Тут ми додали кнопку, яка змінює текст мітки при натисканні. Аргументи bg і fg задають колір фону та тексту.

3. Текстове поле (Entry)
Текстове поле дозволяє користувачу вводити дані.

import tkinter as tk

def show_text():
    entered_text = entry.get()
    label.config(text=f"Ти ввів: {entered_text}")

window = tk.Tk()
window.title("Текстове поле")
window.geometry("300x200")

label = tk.Label(window, text="Введи щось:", font=("Arial", 12))
label.pack(pady=10)

entry = tk.Entry(window, width=20)
entry.pack(pady=10)

button = tk.Button(window, text="Показати", command=show_text)
button.pack(pady=10)

window.mainloop()


У цьому прикладі користувач може ввести текст у поле Entry, а після натискання кнопки текст відобразиться у мітці.

4. Прапорець (Checkbutton)
Прапорець дозволяє користувачу вибирати кілька варіантів.

import tkinter as tk

window = tk.Tk()
window.title("Прапорець Tkinter")
window.geometry("300x200")

var1 = tk.BooleanVar()
var2 = tk.BooleanVar()

check1 = tk.Checkbutton(window, text="Варіант 1", variable=var1)
check1.pack(pady=10)

check2 = tk.Checkbutton(window, text="Варіант 2", variable=var2)
check2.pack(pady=10)

def check_status():
    label.config(text=f"Варіант 1: {var1.get()}, Варіант 2: {var2.get()}")

button = tk.Button(window, text="Перевірити", command=check_status)
button.pack(pady=10)

label = tk.Label(window, text="")
label.pack(pady=10)

window.mainloop()


Цей код створює два прапорці, і при натисканні кнопки відображається їхній стан (True або False).

5. Список (Listbox)
Список дозволяє відображати кілька елементів, з яких користувач може вибрати один або кілька.

import tkinter as tk

window = tk.Tk()
window.title("Список Tkinter")
window.geometry("300x200")

listbox = tk.Listbox(window, height=5)
items = ["Елемент 1", "Елемент 2", "Елемент 3", "Елемент 4"]
for item in items:
    listbox.insert(tk.END, item)
listbox.pack(pady=10)

def show_selection():
    selected = listbox.get(listbox.curselection())
    label.config(text=f"Вибрано: {selected}")

button = tk.Button(window, text="Показати вибір", command=show_selection)
button.pack(pady=10)

label = tk.Label(window, text="")
label.pack(pady=10)

window.mainloop()


Цей приклад показує, як створити список і отримати вибраний елемент.

Поради для створення GUI з Tkinter

Висновок
Tkinter — це потужний інструмент для створення графічних інтерфейсів у Python. У цій статті ми розглянули основні віджети, такі як мітки, кнопки, текстові поля, прапорці та списки, і показали, як їх застосовувати на практиці. Спробуйте ці приклади самостійно, експериментуйте з кодом і створюйте власні додатки! Якщо ви хочете дізнатися більше про Python Tkinter, продовжуйте досліджувати документацію та приклади.