Пусть в окне приложения располагаются текстовое поле (entry), метка (label) и кнопка (button). У виджетов много свойств: размер, цвет фона, цвет надписи, размер шрифта, текст надписи и др.
 Примеры:
 e = Entry(root, width=20)
 b = Button(root, text="Преобразовать")
 l1 = Label(root, bg=‘red', fg='white', width=20)
 l2 = Label(text="Распознавание образов", font=("Comic Sans MS", 24, "bold"))
Button (root, options)
btn = Button(text="Hello",  # текст кнопки
                       background="#555",   # фоновый цвет кнопки
                       foreground="#ccc", # цвет текста
                       padx="20", # отступ от границ до содержимого по   горизонтали
                       pady="8",   # отступ от границ до содержимого по   вертикали
                       font="16"  # высота шрифта)
 btn.pack()
 Чтобы сделать элемент видимым, вызывается метод pack().
Button - Options
activebackground: цвет кнопки, когда она находится в нажатом состоянии
 activeforeground: цвет текста кнопки, когда она в нажатом состоянии
 bd: толщина границы (по умолчанию 2)
 bg/background: фоновый цвет кнопки
 fg/foreground: цвет текста кнопки
 font: например, font="Arial 14"  или font=("Verdana", 13, "bold") 
 height: высота кнопки
 highlightcolor: цвет кнопки, когда она в фокусе
 image: изображение на кнопке
 justify: устанавливает выравнивание текста. LEFT,  CENTER, RIGHT .
 padx: отступ от границ кнопки до ее текста справа и слева
 pady: отступ от границ кнопки до ее текста сверху и снизу
 relief: тип границы, SUNKEN, RAISED, GROOVE, RIDGE
 state: устанавливает состояние кнопки, может принимать значения DISABLED, ACTIVE, NORMAL (по умолчанию)
 text: устанавливает текст кнопки
 textvariable: устанавливает привязку к элементу StringVar
 width: ширина кнопки
 wraplength: при значении >0  строки текста будут вмещаться в пространство кнопки
Обработка нажатия на кнопку
Для обработки нажатия на кнопку необходимо установить в конструкторе параметр command, присвоив ему ссылку на функцию, которая будет срабатывать при нажатии:
 …
 def click_button():
       global clicks
       clicks += 1
 …
 btn = Button(text="Click Me", background="#555", foreground="#ccc", padx="20", pady="8", font="16", command=click_button)
Label(root, options)
label1 = Label(text="Привет", fg="#eee", bg="#333")
 label1.pack()
 poetry = "Вот мысль, которой весь я предан,\n Итог всего, что ум скопил.\n Лишь тот, кем бой за жизнь изведан,\n Жизнь и свободу заслужил."
 label2 = Label(text=poetry, justify=LEFT)
 label2.pack()
 
 \n - Перевод на следующую строку
Label - Options
anchor: устанавливает позиционирование текста (n, s, w, e, ne, nw, se, sw)
 bg/background: фоновый цвет
 bitmap: ссылка на изображение, которое отображается на метке
 bd: толщина границы метки
 fg/foreground: цвет текста
 font: шрифт текста, например, font="Arial 14" - шрифт Arial высотой 14px
 height: высота элемента
 cursor: курсор указателя мыши при наведении на метку
 image: ссылка на изображение, которое отображается на метке
 justify: устанавливает выравнивание текста. Значение LEFT выравнивает текст по левому краю, CENTER - по центру, RIGHT - по правому краю
 padx: отступ от границ элемента до его текста справа и слева
 pady: отступ от границ элемента до его текста сверху и снизу
 relief: определяет тип границы, по умолчанию значение FLAT
 text: устанавливает текст метки
 textvariable: устанавливает привязку к элементу StringVar
 width: ширина элемента
 wraplength: при положительном значении строки текста будут переносится для вмещения в пространство элемента
Entry (root, options)
e1 = Entry(fg="#eee", bg="#333")
 e1.pack()
 t = "Привет!"
 e2 = Entry(text=t, justify=LEFT)
 e2.pack()
Entry - Options
bg: фоновый цвет
 bd: толщина границы
 cursor: курсор указателя мыши при наведении на текстовое поле
 fg: цвет текста
 font: шрифт текста
 justify: устанавливает выравнивание текста. Значение LEFT выравнивает текст по левому краю, CENTER - по центру, RIGHT - по правому краю
 relief: определяет тип границы, по умолчанию значение FLAT
 selectbackground: фоновый цвет выделенного куска текста
 selectforeground: цвет выделенного текста
 show: задает маску для вводимых символов
 state: состояние элемента, может принимать значения NORMAL (по умолчанию) и DISABLED
 textvariable: устанавливает привязку к элементу StringVar
 width: ширина элемента
Методы Entry
Элемент Entry имеет ряд методов. Основные из них:
 insert(index, str): вставляет в текстовое поле строку по определенному индексу
 get(): возвращает введенный в текстовое поле текст
 delete (first, last=None): удаляет символ по индексу first. Если указан параметр last, то удаление производится до индекса last. Чтобы удалить до конца, в качестве второго параметра можно использовать значение END.
 Примеры:
 е1.insert(0, "Tom")
 е2.insert(0, "Soyer")
 
 def clear():
      е1.delete(0, END)
      е2.delete(0, END)
 
 def display():
      messagebox.showinfo(“Приветствие”, e1.get() + " " + e2.get())
Практическая работа 1
«A»: Создайте окно программы 200 на 250 по центру экрана.
«B»: Дополните окно семью кнопками, цвета которых соответствуют цветам радуги и одной меткой.
«C»: Напишите программу, которая выводит цвет кнопки в метке и код цвета в метке.
Коды цветов в шестнадцатеричной кодировке: #ff0000 – красный, #ff7d00 – оранжевый, #ffff00 – желтый, #00ff00 – зеленый, #007dff – голубой, #0000ff – синий, #7d00ff – фиолетовый.
https://www.klub-kod.ru/python/tkinter/metki-knopki-tekstovye-polya?layout=default&print=1&tmpl=component#sigProId799c208f17

