ДАЮ СТО БАЛЛОВ!!!!! Створіть нове вікно з розмірами 400х200 пікселів. В заголовку вікна вкажіть «ПР_15: Світлофор_ПІБ»
Створіть три перемикачі з назвами кольорів: «Зелений», «Жовтий», «Червоний» .
Додайте подію: при натисненні на перемикач, з’явиться напис обраного кольору та зафарбується деяка область цього вікна у вибраний колір.
Ответы
Ответ на Python:
import tkinter as tk
# Створення вікна
window = tk.Tk()
window.geometry("400x200")
window.title("ПР_15: Світлофор_ПІБ")
# Функції, які викликаються при натисканні на перемикачі
def green_button():
label.config(text="Обрано зелений")
canvas.itemconfig(rectangle, fill="green")
def yellow_button():
label.config(text="Обрано жовтий")
canvas.itemconfig(rectangle, fill="yellow")
def red_button():
label.config(text="Обрано червоний")
canvas.itemconfig(rectangle, fill="red")
# Створення перемикачів та мітки
green = tk.Button(window, text="Зелений", command=green_button)
yellow = tk.Button(window, text="Жовтий", command=yellow_button)
red = tk.Button(window, text="Червоний", command=red_button)
label = tk.Label(window, text="Оберіть колір")
# Розміщення перемикачів та мітки
green.pack(side="left", padx=10)
yellow.pack(side="left", padx=10)
red.pack(side="left", padx=10)
label.pack(pady=10)
# Створення полотна та прямокутника для зафарбування
canvas = tk.Canvas(window, width=100, height=100)
canvas.pack()
rectangle = canvas.create_rectangle(10, 10, 90, 90, fill="white")
# Запуск головного циклу вікна
window.mainloop()
Объяснение:
Цей код створює вікно з трьома перемикачами та міткою, які знаходяться в верхній частині вікна, а також з полотном та прямокутником, який змінює колір при натисканні на перемикачі. Для кожного перемикача створено відповідну функцію, яка викликається при натисканні на нього. У функціях змінюється мітка та колір прямокутника на вибраний.
import tkinter as tk
def on_select(v):
label.config(text=v)
if v == "Зелений":
canvas.itemconfig(rect, fill="green")
elif v == "Жовтий":
canvas.itemconfig(rect, fill="yellow")
else:
canvas.itemconfig(rect, fill="red")
root = tk.Tk()
root.geometry("400x200")
root.title("ПР_15: Світлофор_ПІБ")
var = tk.StringVar(value="Зелений")
for text in ["Зелений", "Жовтий", "Червоний"]:
rb = tk.Radiobutton(root, text=text, variable=var, value=text, command=lambda: on_select(var.get()))
rb.pack(anchor="w")
label = tk.Label(root, text="Зелений")
label.pack()
canvas = tk.Canvas(root, width=200, height=100)
rect = canvas.create_rectangle(0, 0, 200, 100, fill="green")
canvas.pack()
root.mainloop()