# Імпортуємо всі компоненти tkinter
from tkinter import *
# Створюємо головне вікно програми
root = Tk()
# Встановлюємо заголовок вікна
root.title("Панель керування автомобілем")
# Встановлюємо розмір вікна (ширина x висота)
root.geometry("400x250")
# ---------------------------------------------------
# НАПИС (Label) ДЛЯ ВІДОБРАЖЕННЯ ШВИДКОСТІ
# ---------------------------------------------------
# Створюємо текстовий напис
label_speed = Label(
root, # прив'язуємо до головного вікна
text="Швидкість: 0 км/год", # початковий текст
font=("Arial", 16) # розмір і стиль шрифту
)
# Відображаємо напис у вікні
label_speed.pack(pady=10)
# ---------------------------------------------------
# ДОДАТКОВИЙ НАПИС (СТАН АВТОМОБІЛЯ)
# ---------------------------------------------------
label_state = Label(
root,
text="Стан: Стоїть",
font=("Arial", 14),
fg="gray" # колір тексту
)
label_state.pack(pady=5)
# ---------------------------------------------------
# ФУНКЦІЯ, ЯКА ОНОВЛЮЄ ШВИДКІСТЬ
# ---------------------------------------------------
def update_speed(value):
# Перетворюємо значення зі Scale у число
speed = int(value)
# Оновлюємо текст швидкості
label_speed.config(
text=f"Швидкість: {speed} км/год"
)
# ------------------------------------------------
# ЛОГІКА СТАНУ АВТОМОБІЛЯ
# ------------------------------------------------
if speed == 0:
state = "Стоїть"
elif speed <= 30:
state = "Повільний рух"
elif speed <= 80:
state = "Рух у місті"
elif speed <= 130:
state = "Рух по трасі"
else:
state = "Висока швидкість"
# Оновлюємо напис стану
label_state.config(
text=f"Стан: {state}"
)
# ---------------------------------------------------
# СТВОРЮЄМО ПОВЗУНОК (Scale)
# ---------------------------------------------------
speed_scale = Scale(
root, # головне вікно
from_=0, # мінімальна швидкість
to=220, # максимальна швидкість
orient=HORIZONTAL, # горизонтальний повзунок
command=update_speed # функція викликається при зміні
)
# Встановлюємо початкове значення повзунка
speed_scale.set(0)
# Відображаємо Scale у вікні
speed_scale.pack(pady=20)
# ---------------------------------------------------
# ЗАПУСК ПРОГРАМИ
# ---------------------------------------------------
root.mainloop()
















