Кнопка. Напис. Поле.
В Python кнопка - це елемент керування. Для створення кнопки використовують команду :
Ім'я кнопки = Button()
В дужках ми можемо вказувати набір властивостей цієї кнопки, таких як:
text - текст на кнопці
width - ширина кнопки
height - висота кнопки
bg - колір фону
fg - колір тексту
font - шрифт тексту (назва шрифту, розмір шрифту, накреслення)
state - стан кнопки (normal - звичайний, disable - недоступний)
Методи для розміщення кнопки:
pack() - розміщення кнопки під рядком заголовка вікна, якщо хочемо зробити кнопку з відступом, використовуємо команду:
button.pack(pady = 20), де 20 - відступ у 20 пікселів від верхньої межі вікна.
place(x = 100, y = 200) - розміщення кнопки з початком верхньої лівої межі у точці (x, y).
pack_forget(), place_forget() - зробити кнопку невидимою.
Пов'язати кнопку з обробником подій можна так само, як з вікном, використовуючи метод bind().
Приклад для події Click:
from tkinter import* def click (event): root.title('Створюємо першу кнопку') root = Tk() root.geometry('400x200+100+100') button = Button(text = 'Кнопка', width = 20, bg = 'pink') button.pack(pady = 20) button.bind('<1>', click )
Приклад показує, що під час натискання на кнопку, змінюється заголовок вікна.
Дія виконується, коли ми натискаємо лівою клавішею миші.
Інший спосіб: ми створюємо кнопку, в ній вказуємо команду клік: command = click, виклик події - це буде наша команда, але при цьому не прописуємо event:
Завдання с. 179.
from tkinter import* def click (event): root.title('Змінюємо розміри кнопки') button['text'] = 'Населений пункт' button['width'] = 40 button['height'] = 30 root = Tk() root.geometry('400x200+100+100') button = Button(text = 'Кнопка', width = 20, bg = 'lime') button.pack(pady = 20) button.bind('<1>', click )
Завдання 2. Створіть проект, у якому в результаті настання події KeyPress, для кнопки її розміри стануть 20х40, і текст на кнопці зміниться на ваше прізвище.
from tkinter import*
def keypress(event):
root.title('Змінюємо розміри кнопки та текст')
button['text'] = 'Прізвище'
button['width'] = 20
button['height'] = 40
root = Tk()
root.geometry('400x200+100+100')
button = Button(text = 'Кнопка', width = 20, bg = 'grey')
button.pack(pady = 20)
root.bind('<KeyPress>', keypress)
Завдання 5. Створіть проект, у якому в результаті настання події Click, для кнопки її розміри стануть 50х5, і текст на кнопці зміниться на Мій проєкт, а в результаті настання події MouseMove для кнопки кнопка переміститься на 30 пікселів вправо та 40 пікселів униз і стане недоступною. Встановиться жовтий колір фону кнопки.
from tkinter import* def click (event): root.title('Змінюємо розміри кнопки, текст') button['text'] = 'Мій проєкт' button['width'] = 50 button['height'] = 5 def mousemove (event): button.place(x = 30, y = 40) button['bg'] = 'yellow' button['state'] = 'disable' root = Tk() root.geometry('400x200+100+100') button = Button(text = 'Кнопка', width = 20, bg = 'lime') button.pack(pady = 20) button.bind('<1>', click ) button.bind('<Motion>', mousemove )
bg - колір фону напису
fg - колір символів
font - вид шрифту розмір символів та наклеслення:
bold - напівжирне, italic - курсивне, underline - підкреслене
width - ширина напису
height - висота напису
Приклад:
label = Label(text = 'Напис', bg = 'lime', fg = 'blue', font = 'Arial14')
З написом, так само як із кнопкою та вікном можна пов'язати обробники подій.
Приклад:
from tkinter import* def label_click (event): label['text'] = 'Мій проєкт' label['width'] = 30 label['height'] = 5 label['font'] = 18 label['fg'] = 'green' root = Tk() root.geometry('400x200+100+100') label = Label(text = 'Напис', width = 20, fg = 'lime') label.pack(pady = 20) label.bind('<1>', label_click )
Завдання 5. Створіть проект, у якому поля зафарбується в сірий колір, переміститься на 50 пікселів управо і стане недоступним, якщо під час виконання проєкту виправляється текст у ньому.
Коментарі
Дописати коментар