Label - метка

Библиотека tkinter содержит набор компонентов или виджетов, одним из которых является метка - Label(). Метки (или надписи) — это достаточно простые виджеты, содержащие строку (или несколько строк) текста и служащие в основном для информирования пользователя.

Добавим метку в окно:

from tkinter import *

root = Tk()
label = Label(root, text="This text wrote in the first label!")
label.pack()
root.mainloop()
1
2
3
4
5
6

Для создания метки используется конструктор Label(). В этом конструкторе с помощью параметра text можно установить текст виджета. Чтобы сделать элемент видимым, у него вызывается метод pack(). В итоге вверху окна будет красоваться метка с текстом:

label_one

Для создания двух и более виджетов достаточно просто создать метку и добавить её в окно:

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()
1
2
3
4
5
6
7
8

Результат выполнения:

labels_two

Каждый виджет, имеет ряд атрибутов, которые влияют на ее визуализацию и которые мы можем настроить через конструктор:

from tkinter import *

root = Tk()
label = Label(root, text="Hello", font=("Arial Bold", 50), bg="lightgreen")
label.pack()
root.mainloop()
1
2
3
4
5
6

Результат выполнения:

label_customize

Параметры виджета

Всего же виджет 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 пиксель.

Упражнения

  1. Создайте окно с текстом в метке: "It is my first label".
  2. Создайте окно с тремя метками и текстов в них: "1-st label", "2-nd label", "3-rd label" соответственно.
  3. Для переноса строки в одном виджете можно использовать \n. Создайте окно c одной меткой, с текстом на две строки: "It is the first string\nand the second string".
  4. Создайте окно с выводом текста: "Письмо Деду Морозу". Вывод должен реализовываться при помощи одного Label и с использованием строки с переменными, в которых хранятся имя, город, год, подарок и т.п. Укажите выравнивание текста по центру.