Віджет Label містить рядок (або декілька рядків) тексту й застосовується для виведення заголовків, підписів елементів інтерфейсу тощо.
Об’єкт Label створюється викликом класу Label модуля tkinter.
Синтаксис створення віджета:
змінна = Label(батьківський_віджет, [властивість = значення])
Якщо батьківський віджет (всередині якого створюється напис) не вказано, за замовчуванням батьківським віджетом вважається вікно програми. Квадратні дужки в переліку аргументів вказують на те, що ці параметри задавати необов’язково. Властивості можуть задаватися (змінюватися) пізніше.
При створенні об’єкта Label можно задати такі властивості:
text — текстовий рядок;
width, height — ширина і висота у знакомісцях (кількість
символів);
bg, fg — колір фону і символів;
font — параметри шрифту (тип, кегль). Наприклад, font = 'Arial 18' — шрифт Arial, 18 кегль.
Приклад:
Додамо у вікно напис Hello, World! Напис з’явиться у верхньому лівому куті вікна.
from tkinter import*
root = Tk()
root.title('Привітання')
root.geometry('300x100')
lab = Label(root, text = 'Hello, World!', font = 'Arial 18', bg = 'blue', fg = 'yellow')
lab.pack()
root.mainloop()
Щоб текст напису виводився у кілька рядків, слід на місці, де має починатися новий рядок, ввести символ \n.
Приклад:
На рис.1 подано вигляд віджета, створеного з такими атрибутами:
lab = Label(root, text = 'Hello, \nWorld!', font = 'Arial 18', bg = 'blue', fg = 'yellow')
lab.pack()
Конфігурація віджетів задається при створенні, проте потреба змінити властивості віджета може виникнути й під час виконання програми. Це можна зробити, викликавши метод config(). У дужках при цьому зазначають, яким атрибутам які значення слід присвоїти.
Значення атрибутів можна задавати також командами виду:
<змінна> ['назва властивості'] = <значення властивості>
Приклад:
Змінимо текст та колір тла напису:
lab.config(bg = 'red')
lab ['text '] = 'Новий рядок'
Метод destroy() викликається для знищення віджета.
Приклад:
Видалимо об’єкт lab:
lab.destroy()
Віджет із подією й функцією-обробником події пов’язують викликом методу bind():
<віджет>.bind('<подія>', <функція>),
де '<подія>' — текстова константа, системна назва події; <функція> — назва функції — обробника події.
Наприклад, віджет — напис Label, подія — клацання по ньому лівою кнопкою миші, дія — пересування напису вправо на 5 пікселів.
Приклад:
Запрограмуємо пересування віджета lab класу Label за натисканням на клавішу зі стрілкою →.
from tkinter import*
def move_lab(event):
event.widget.place(x = event.widget.winfo_x()+5)
root = Tk()
lab = Label(root, text = 'Hello World!')
lab.place(x = 10, y = 30)
lab.focus_set()
lab.bind('<KeyPress-Right>', move_lab)
root.mainloop()
ПРАКТИЧНЕ ЗАВДАННЯ 1
1. Відкрийте середовище IDLE.
2. Відкрийте вікно текстового редактора для введення тексту проєкту.
3. Уведіть команди для створення вікна розміром 600 × 400 пікселів.
4. Створіть напис із текстом Це напис і значеннями властивостей за замовчуванням та розмістіть його у вікні. Для цього введіть команди:
label = Label(text = ‘Це напис’)
label.pack()
5. Збережіть проєкт у вашій папці у файлі з іменем вправа 6.4.py.
6. Запустіть проєкт на виконання. Зверніть увагу на розміщення напису у вікні, на колір його фону, на текст у написі, на колір і розмір символів.
7. Закрийте вікно виконання проєкту.
8. Установіть такі значення властивостей напису: колір фону – зелений, колір символів – білий, вид шрифту – Arial, розмір символів – 16, накреслення – підкреслений. Для цього допишіть у команду створення напису властивості та їх значення:
label = Label(text = ‘Це напис’, bg = ‘green’, fg = ‘white’, font=’Arial 16 underline’)
9. Збережіть змінену версію проєкту в тому самому місці під тим самим іменем.
10. Запустіть проєкт на виконання. Зверніть увагу на змінення вигляду напису.
11. Закрийте вікно виконання проєкту.
12. Створіть процедуру з іменем click для змінення значень властивостей напису. Для цього введіть після першого рядка тексту проєкту такі команди (текст після символу # – це коментар, пояснення; його вводити не потрібно):
13. Пов’яжіть створену процедуру з написом, зазначивши як подію клацання лівої кнопки миші. Для цього введіть після останнього рядка проєкту команду:
label.bind(‘<1>’, click)
14. Збережіть змінену версію проєкту.
15. Запустіть проєкт на виконання.
16. Наведіть вказівник на напис і клацніть ліву кнопку миші. Зверніть увагу на
змінення вигляду напису.
17. Закрийте вікно виконання проєкту.
18. Закрийте вікно текстового редактора та середовище IDLE.