Label - метка
Библиотека tkinter
содержит набор компонентов или виджетов, одним из которых является метка - Label()
. Метки (или надписи) — это достаточно простые виджеты, содержащие строку (или несколько строк) текста и служащие в основном для информирования пользователя.
Добавим метку в окно:
from tkinter import *
root = Tk()
label = Label(root, text="This text wrote in the first label!")
label.pack()
root.mainloop()
2
3
4
5
6
Для создания метки используется конструктор Label()
. В этом конструкторе с помощью параметра text можно установить текст виджета. Чтобы сделать элемент видимым, у него вызывается метод pack()
. В итоге вверху окна будет красоваться метка с текстом:
Для создания двух и более виджетов достаточно просто создать метку и добавить её в окно:
from tkinter import *
root = Tk()
label_1 = Label(root, text="This text wrote in the first label!")
label_1.pack()
label_2 = Label(root, text="This text wrote in the second label!")
label_2.pack()
root.mainloop()
2
3
4
5
6
7
8
Результат выполнения:
Каждый виджет, имеет ряд атрибутов, которые влияют на ее визуализацию и которые мы можем настроить через конструктор:
from tkinter import *
root = Tk()
label = Label(root, text="Hello", font=("Arial Bold", 50), bg="lightgreen")
label.pack()
root.mainloop()
2
3
4
5
6
Результат выполнения:
Параметры виджета
Всего же виджет Label может принимать следующие параметры:
anchor
: управляет положением текста (или изображения) внутри метки. Допустимые значения: N, NE, E, SE, S, SW, W, NW или CENTER. По умолчанию это CENTER. (Заглавные сокращения букв, берутся от именования направлений North - север, South - юг, East - восток, West - запад)background/bg
: устанавливает цвет фона виджета, по умолчанию зависит от платформы.bitmap
: растровое изображение, отображаемое на виджете. Если указан параметр изображения, этот параметр игнорируется в автоматическом режиме.borderwidth/bd
: ширина границы метки. Значение по умолчанию зависит от системы, но обычно составляет от 1 до 2 пикселей.compound
: контролирует, как текст и изображения в пределах метки объединяются. По умолчанию, если задано изображение или растровое изображение, оно будет отображено вместо текста. Когда для этой опции установлено значение CENTER, на изображении отображается текст. Допустимые значения: BOTTOM, LEFT, RIGHT или TOP.cursor
: курсор, отображаемый, когда мышь перемещается над меткой. По умолчанию используется стандартный курсор.disabledforeground
: цвет переднего плана для использования, когда метка отключена или недействительна. Значение по умолчанию зависит от системы.font
: шрифт, используемый для надписей. Метки могут содержать только один текст шрифта. Значение по умолчанию зависит от системы.foreground/fg
: цвет метки, используемой для цвета текста и растровой метки. По умолчанию используется цвет заданный системой.height
: высота метки. Если текст отображается на метке, размер указывается в текстовых единицах. Если изображение отображается в метке, размер указывается в пикселях (или единицах экрана). Если вы установите размер 0 или пропустите его, он рассчитывается на основе содержимого метки.image
: изображение для отображения на виджете. Значением должно бытьPhotoImage
,BitmapImage
или совместимый объект. Если указано, это переопределяет параметры текста и растрового изображения.padx
: горизонтальные отступы для добавления текста. По умолчанию используется 1 пиксель.pady
: вертикальный отступ, чтобы добавить вокруг текста. По умолчанию используется 1 пиксель.
Упражнения
- Создайте окно с текстом в метке: "It is my first label".
- Создайте окно с тремя метками и текстов в них: "1-st label", "2-nd label", "3-rd label" соответственно.
- Для переноса строки в одном виджете можно использовать
\n
. Создайте окно c одной меткой, с текстом на две строки: "It is the first string\nand the second string". - Создайте окно с выводом текста: "Письмо Деду Морозу". Вывод должен реализовываться при помощи одного
Label
и с использованием строки с переменными, в которых хранятся имя, город, год, подарок и т.п. Укажите выравнивание текста по центру.