Створити вікно розміром 350Х200 та назвою «Зміна вікна» блакитного кольору.
1) при натисканні на вікно лівою кнопкою миші буде відбуватися зміна назви вікна «Зміна вікна№2» розмір на 500Х500 та зелений колір
2) при натисканні правої кнопки миші буде відбуватися зміна назви вікна «Команду виконано» розмір на 500Х500 та блакитний колір і з’являтиметься вікно з назвою «Зміна кольору» розмір на 250Х200 та кнопкою з назвою «Ок»
3) при натисканні кнопки «Ок» вікно змінює назву «Команда виконана» » розмір на 500Х500 та фіолетовий колір
4) (додаткове завдання «Втікаюча кнопка») при натисканні кнопки «Ок» вона переміщується, назва вікна «Команда виконана» » розмір 500Х500 та фіолетовий колір.
Ответы
Ответ:
from tkinter import *
def change_window_title_and_size(event):
root.title("Зміна вікна №2")
root.geometry("500x500")
root.configure(background="green")
def create_color_change_window():
color_change_window = Toplevel(root)
color_change_window.title("Зміна кольору")
color_change_window.geometry("250x200")
color_change_window_button = Button(color_change_window, text="Ок", command=change_main_window_color_and_title)
color_change_window_button.pack()
def change_main_window_color_and_title():
root.title("Команда виконана")
root.geometry("500x500")
root.configure(background="purple")
def move_button(event):
ok_button.place(x=event.x, y=event.y)
root = Tk()
root.title("Зміна вікна")
root.geometry("350x200")
root.configure(background="blue")
root.bind("<Button-1>", change_window_title_and_size)
root.bind("<Button-3>", lambda event: create_color_change_window())
ok_button = Button(root, text="Ок", command=change_main_window_color_and_title)
ok_button.place(x=0, y=0)
ok_button.bind("<B1-Motion>", move_button)
root.mainloop()
Объяснение:
Tk(), Toplevel(): створення головного та дочірнього вікон;
title(), geometry(), configure(): зміна заголовка вікна, розміру вікна та фонового кольору вікна;
bind(): прив'язка функцій до подій;
Button(): створення кнопки;
pack(), place(): розміщення елементів на вікні;
mainloop(): запуск головного циклу обробки подій.
Також в коді реалізовано додаткове завдання з переміщенням кнопки після натискання на неї лівою кнопкою миші і перетягування її по вікну.