Алгоритм створення кнопок із подіями
Підключення модуля tkinter
from tkinter import *
Створення функцій, які описують ті зміни, які ми хочемо, щоб відбулися після виконання події. (Функцій можна створювати багато, одну після одної).
def назва_функції(аргументи):
команда
Створення вікна (вікон), в якому ми хочемо розмістити нашу кнопку (кнопки або інші об’єкти).
назва вікна=Tk()
Описуємо властивості вікна: розміри, заголовок, колір... (якщо це необхідно)
назва вікна.властивість(параметри)
назва вікна[“bg”]=“колір”
Створення кнопки (кнопок) та опис їх атрибутів (властивостей).
назва_кнопки=Button(назва вікна до якого вона належить, атрибут1, ...)
Вказуємо місце розташування кнопки у нашому вікні.
назва_кнопки.place(x=“число”, y=“число”)
Прив’язуємо до кнопки подію (можна послідовно прив’язувати кілька подій до різних об’єктів).
назва_кнопки.bind(“<подія>”, назва_функції)
Вказуємо про завершення роботи з вікном.
назва_вікна.mainloop()
назва об'єкта параметри, якого змінюємо
= "на що змінити"
Створіть новий файл Python, та нове вікно. Створіть подію “натискання на ліву кнопку миші” (Button-1), яка б змінювала розміри нашого вікна Window на 500х500 пікселів та встановлювала зелений колір фону та створювала вікно-повідомлення із заголовком “Повідомлення”, та текстом “Я програмую на Python”.
from tkinter import*
from tkinter import messagebox
def change(event):
win.geometry("500x500")
win.title("")
win["bg"]="green"
messagebox.showinfo("Повідомлення","Я програмую на Python")
win=Tk()
win.bind("<Button-1>",change)
win.mainloop()
- Створіть новий файл Python та нове вікно із заголовком “Завдання №2” та розмірами 400 на 700.
- Створіть дві нові кнопки та розмістіть їх приблизно по центру даного вікна, але одна вище другої.
- Колір кнопки№1 рожевий, текст кнопки№1 “Ліва”, колір тексту синій.
- Колір кнопки №2 жовтий, текст кнопки№2 “Права”, колір тексту зелений.
- Створіть наступні події до даних кнопок:
- При натисканні лівою клавішею миші по кнопці №1
õ розміри вікна стануть 560х800 пікселів,
õ а колір вікна стане блакитним.
õ Також буде виводитися вікно повідомлення із заголовком “Ліва кнопка” та із текстом “Зміни застосовані учнем Прізвище (вкажіть ваше прізвище) при натисканні лівої кнопки миші!”
- При натисканні правою клавішею миші по кнопці №2
õ розміри вікна стануть 660х900 пікселів,
õ а колір вікна стане салатовим.
õ та напис зеленого кольору з текстом білого кольору, шрифтом Calibri 12, а зміст повідомлення буде “Зміни застосовані учнем Прізвище (вкажіть ваше прізвище)!”. та розмістимо його в 30 пікселях від лівого краю і в 40 пікселях від верхнього краю вікна.
- Увага! При виконанні даного завдання потрібно створити на початку програми дві функції (одні для кнопки №1, а іншу для кнопки №2)
from tkinter import*
from tkinter import messagebox
def change(event):
win.geometry("700x400")
win["bg"]="light blue"
messagebox.showinfo("Ліва кнопка","Зміни застосовані учнем Прізвище (вкажіть ваше прізвище) при натисканні лівої кнопки миші!")
def change2(event):
win.geometry("660x900")
win["bg"]="OliveDrab1"
lab=Label(win,text="Зміни застосовані учнем Прізвище (вкажіть ваше прізвище), правою!",
bg="green", fg="white", font="Calibri 12")
lab.place(x=30, y=40)
win=Tk()
win.title("Завдання 2")
win.geometry("400x500")
but1=Button(win,
width=20, height=2,
bg="pink", text="Ліва кнопка", fg="blue", font="Times 18")
but1.place(x="50",y="200")
but1.bind("<Button-1>",change)
but2=Button(win,
width=20, height=2,
bg="yellow", text="Права кнопка", fg="green", font="Times 18")
but2.place(x="50",y="300")
but2.bind("<Button-3>",change2)
win.mainloop()