Віджет Label містить рядок (або декілька рядків) тексту й застосовується для виведення заголовків, підписів елементів інтерфейсу тощо.
Об’єкт Label створюється викликом класу Label модуля tkinter.
Синтаксис створення віджета:
змінна = Label(батьківський_віджет, [властивість = значення])
змінна = 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()
Напис з’явиться у верхньому лівому куті вікна.
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()
lab.pack()
Рис.1
Конфігурація віджетів задається при створенні, проте потреба змінити властивості віджета може виникнути й під час виконання програми. Це можна зробити, викликавши метод config(). У дужках при цьому зазначають, яким атрибутам які значення слід присвоїти.
Значення атрибутів можна задавати також командами виду:
<змінна> ['назва властивості'] = <значення властивості>
Приклад:
Змінимо текст та колір тла напису:
lab.config(bg = 'red')
lab.config(bg = 'red')
lab ['text '] = 'Новий рядок'
Приклад:
Видалимо об’єкт lab:
lab.destroy()
lab.destroy()
Віджет із подією й функцією-обробником події пов’язують викликом методу bind():
<віджет>.bind('<подія>', <функція>),
де '<подія>' — текстова константа, системна назва події; <функція> — назва функції — обробника події.
<віджет>.bind('<подія>', <функція>),
де '<подія>' — текстова константа, системна назва події; <функція> — назва функції — обробника події.
Приклад:
Запрограмуємо пересування віджета 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)
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()
Джерела:
Інформатика : підруч. для 8 кл. закл. загал. серед. освіти / [О. О. Бондаренко, . В. Ластовецький, О. П. Пилипчук, Є. А. Шестопалов]. — Харків : Вид-во Ранок», 2021