Об’єкт Button - кнопка
Властивості об’єкта «кнопка»
Об’єкт Button створюється викликом класу Button модуля tkinter.
Так само, як і напис, об’єкт кнопка може мати свої властивості, які описують службовими словами:
text — напис на кнопці;
width, height — ширина й довжина (у знакомісцях);
bg — колір (скорочено від background);
fg — колір напису (скорочено від foreground);
activebackground - колір фону, коли кнопка натиснута;
activeforeground - колір напису коли кнопка натиснута;
font — шрифт і його розмір;
padx — відступ від межі до об’єкта по горизонталі;
pady — відступ від межі до об’єкта по вертикалі.
Змінити властивість об’єкта під час виконання програми можна за допомогою методу configure.
Встановлювати колір можна як за назвою кольору, наприклад "red", "green", "black", так і в шістнадцятковому форматі "#ff0000" - червоний, "#008000" - зелений, "#000000" - чорний.
Список кольорів https://uk.wikipedia.org/wiki/Список_кольорів
МЕНЕДЖЕРИ РОЗМІЩЕННЯ ОБ'ЄКТІВ
tkinter має три різних менеджери розміщення:
• pack – пакувальник, розміщує елементи за їх положенням відносно інших елементів;
• grid – таблиця, розміщує елементи як у таблиці, за вказаними рядком та стовпчиком;
• place – розміщення по заданих позиціях.
Менеджер розміщення place
place є простим пакувальником, що дозволяє розміщувати віджет в фіксованому місці з фіксованим розміром. При використанні цього пакувальника необхідно вказувати координати кожного віджета. Цей пакувальник, хоч і здається незручним, надає повну свободу в розміщенні віджетів у вікні.
Методом place() віджету вказується його положення або в абсолютних значеннях (в пікселях), або в частках батьківського вікна, тобто відносно. Також абсолютно і відносно можна задавати розмір самого віджета.
Основними параметрами place є:
anchor(якір) – визначає частину віджету, на яку задаються координати. Приймає значення N, NE, E, SE, SW, W, NW чи CENTER. За промовчанням NW (верхній лівий кут).
relwidth, relheight (Відносні ширина і висота) – визначають розмір віджету відносно батьківського віджету.
relx, rely- Визначають відносну позицію в батьківському віджеті. Координата (0; 0) – у лівого верхнього кута, (1; 1) – у правого нижнього.
width, height- Абсолютний розмір віджету в пікселях. Значення за умовчанням (коли дані опції опущені) прирівнюються до природного розміру віджету, тобто до того, що визначається при його створенні та конфігуруванні.
x, y- Абсолютна позиція в пікселях. Значення за промовчанням прирівнюються до нуля.
Приклад використання методу розміщення place()
Метод place() має параметр anchor який визначає "точку" на віджеті для якої задаються координати.
За замовчуванням це лівий верхній кут.
Може приймати такі значення:
N, NE, E, SE, S, SW, W, NW, CENTER.
так як в атрибутах методу place() ми не вказували значення anchor, то за замовчуванням Python обирає верхню ліву точку (NW) для якої задаються координати x=20, y=20
ПРАКТИЧНА РОБОТА
Завдання: побудувати вікно "Авторизація" за зразком.
Для розташування елемента керування у визначеному місці замість методу pack() використовуйте метод place().
Крок 1
Створити вікно розміром 300 x 150, задати вікну назву "Авторизація"
import tkinter
w=tkinter.Tk()
w.geometry("300x150")
w.title("Авторизація")
Крок 2
Створити елемент кнопку за зразком. Для розміщення кнопки використайте метод place().
btn=tkinter.Button(text="OK", font="Arial 16", bg="white", fg="red")
btn.place(x=50, y=100,width=220,height=40)
Крок 3
Створити елементи текстові написи і однорядкові поля для вводу за зразком. Для розміщення елементів використайте метод place().
Login_Lbl=tkinter.Label(text="Логін", font="Arial 16", fg="blue")
Login_Lbl.place(x=20, y=20)
Pass_Lbl=tkinter.Label(text="Пароль", font="Arial 16", fg="blue")
Pass_Lbl.place(x=20, y=60)
Login_Ent=tkinter.Entry()
Login_Ent.place(x=120, y=20)
Pass_Ent=tkinter.Entry()
Pass_Ent.place(x=120, y=60)
Домашнє завдання
Опрацювати теорію
Виконати практичну частину і надіслати на пошту вчителя voronenko@54.edu.ks.ua
Пройти тест https://onlinetestpad.com/nka4fh3rfm3oq