Лабораторна робота 17 Графічний інтерфейс у Python засобами tkinter
Мета роботи:
- навчитися створювати графічне вікно в Python
- використовувати елементи інтерфейсу: Label, Entry, Button
- реалізувати обробку подій (натискання кнопок)
- виконувати арифметичні операції над введеними даними
Обладнання:
- комп’ютер
- середовище програмування Python (IDLE, PyCharm тощо)
завдання 1:
Розробити програму мовою Python із використанням модуля tkinter, яка реалізує просте обчислення - графічний калькулятор.
Програма повинна:
- Створити вікно з назвою «Обчислення двох чисел».
- Містити напис із підказкою для користувача (введення чисел).
- Містити два поля введення (Entry) для введення чисел.
-
Містити чотири кнопки, розташовані в один ряд:
- «Сума»
- «Різниця»
- «Добуток»
- «Частка»
-
При натисканні на відповідну кнопку:
- зчитувати значення з полів введення
- виконувати обчислення
- виводити результат під кнопками
- Передбачити обробку помилок (наприклад, ділення на нуль).
До кожного рядка коду написати пояснення.
Приклад коду:
import tkinter as tk # імпортуємо бібліотеку tkinter для створення GUI
# -------- функції обчислення --------
def add(): # функція додавання
a = float(entry1.get()) # отримуємо перше число з поля введення
b = float(entry2.get()) # отримуємо друге число
result_label.config(text="Сума: " + str(a + b)) # виводимо результат
def sub(): # функція різниці
a = float(entry1.get()) # беремо перше число
b = float(entry2.get()) # беремо друге число
result_label.config(text="Різниця: " + str(a - b)) # обчислення
def mul(): # функція множення
a = float(entry1.get()) # перше число
b = float(entry2.get()) # друге число
result_label.config(text="Добуток: " + str(a * b)) # результат
def div(): # функція ділення
a = float(entry1.get()) # перше число
b = float(entry2.get()) # друге число
if b != 0: # перевірка на ділення на нуль
result_label.config(text="Частка: " + str(a / b)) # результат
else:
result_label.config(text="Помилка: ділення на 0!") # повідомлення
# -------- створення вікна --------
root = tk.Tk() # створюємо головне вікно
root.title("обчислення двох чисел") # встановлюємо заголовок
root.geometry("350x250") # задаємо розмір вікна
# -------- напис --------
label = tk.Label(root, text="Введіть два числа") # створюємо напис
label.pack(pady=5) # розміщуємо його у вікні
# -------- поле введення 1 --------
entry1 = tk.Entry(root) # створюємо перше поле введення
entry1.pack(pady=5) # розміщуємо
# -------- поле введення 2 --------
entry2 = tk.Entry(root) # створюємо друге поле введення
entry2.pack(pady=5) # розміщуємо
# -------- контейнер для кнопок --------
frame_buttons = tk.Frame(root) # створюємо контейнер (рамку) для кнопок
frame_buttons.pack(pady=10) # розміщуємо його
# -------- кнопки --------
btn_add = tk.Button(frame_buttons, text="Сума", command=add) # кнопка додавання
btn_add.grid(row=0, column=0, padx=5) # розміщення в ряд
btn_sub = tk.Button(frame_buttons, text="Різниця", command=sub) # кнопка різниці
btn_sub.grid(row=0, column=1, padx=5)
btn_mul = tk.Button(frame_buttons, text="Добуток", command=mul) # множення
btn_mul.grid(row=0, column=2, padx=5)
btn_div = tk.Button(frame_buttons, text="Частка", command=div) # ділення
btn_div.grid(row=0, column=3, padx=5)
# -------- результат --------
result_label = tk.Label(root, text="") # напис для результату
result_label.pack(pady=10) # розміщення
# -------- запуск --------
root.mainloop() # запуск головного циклу програми
Немає коментарів:
Дописати коментар