Учебник Tkinter - Виджет для этикеток

  1. Python Tkinter Label Виджет
  2. Измените шрифт Pythonской этикетки
  3. Изменить цвет(ы) Python Tkinter LabelЦвет(а)
  4. Изображение на дисплее в Python Tkinter Label

Виджет Tkinter Label отображает текстовую строку или изображение, содержимое которого обычно не должно быть динамическим. Конечно, вы можете изменить его содержимое, если хотите.

Python Tkinter Label Виджет

Tkinter Label.py
from sys import version_info
if version_info.major == 2:
    import Tkinter as tk
elif version_info.major == 3:
    import tkinter as tk
    
app = tk.Tk()
labelExample = tk.Label(app, text="This is a Label")
labelExample.pack()
app.mainloop()

Генерирует окно с текстовой меткой внутри главного окна.

Tkinter Basic Label

labelExample = tk.Label(app, text = "This is a label")

labelExample - это экземпляр Label, отображающий Это ярлык с родительским app.

labelExample.pack()

Метод pack() управляет компоновкой конкретного виджета в родительском. Он имеет следующие опции

pack() Метод Описание
after=widget упаковать его после того, как вы упаковали виджет
anchor=NSEW (or subset) позиционный виджет в соответствии с
before=widget упакуйте его перед тем, как упаковать виджет
expand=bool расширять виджет при росте родительского размера
fill=none or x or y or both заполнять виджет при росте виджета
in=master использовать master, чтобы содержать этот виджет.
in_=master см. описание опции in окне`
ipadx=amount добавить внутреннюю прокладку в направлении х
ipady=amount добавить внутреннюю прокладку в направлении y
padx=amount добавлять набивку в направлении х
pady=amount добавить набивку в направлении y
side=top or bottom or left or right куда добавить этот виджет.

Вы можете изменить параметры, чтобы получить различное расположение виджетов меток.

Размеры метки задаются шириной и высотой, которые принадлежат определенным параметрам виджета метки.

Информация

Ширина и высота имеют единицу измерения текста, если он содержит текст, а его размер - пиксели, если он отображает изображение.

См. эта статья для проверки, что такое текстовый блок и как задать размер метки в единице пикселей.

Свойства метки можно получить командой dict(label),

Tkinter Label_Get Properties.py
from sys import version_info
if version_info.major == 2:
    import Tkinter as tk
elif version_info.major == 3:
    import tkinter as tk
    
from pprint import pprint
    
app = tk.Tk()
labelExample = tk.Label(app, text="This is a Label", height=15, width=100)
pprint(dict(labelExample))

Объекты недвижимости перечислены ниже

{'activebackground': 'SystemButtonFace',
 'activeforeground': 'SystemButtonText',
 'anchor': 'center',
 'background': 'SystemButtonFace',
 'bd': <pixel object at 00000000048D1000>,
 'bg': 'SystemButtonFace',
 'bitmap': '',
 'borderwidth': <pixel object at 00000000048D1000>,
 'compound': 'none',
 'cursor': '',
 'disabledforeground': 'SystemDisabledText',
 'fg': 'SystemButtonText',
 'font': 'TkDefaultFont',
 'foreground': 'SystemButtonText',
 'height': 15,
 'highlightbackground': 'SystemButtonFace',
 'highlightcolor': 'SystemWindowFrame',
 'highlightthickness': <pixel object at 00000000048FF100>,
 'image': '',
 'justify': 'center',
 'padx': <pixel object at 00000000048FED40>,
 'pady': <pixel object at 00000000048FF0D0>,
 'relief': 'flat',
 'state': 'normal',
 'takefocus': '0',
 'text': 'This is a Label',
 'textvariable': '',
 'underline': -1,
 'width': 100,
 'wraplength': <pixel object at 00000000048FED70>}

Теперь вы знаете свойства этикеток, и, изменив их, вы можете получить различный внешний вид этикеток.

Измените шрифт Pythonской этикетки

Ниже мы покажем вам различные методы настройки шрифта этикетки.

Tkinter Label_Set Text Font.py
from sys import version_info
if version_info.major == 2:
    import Tkinter as tk
elif version_info.major == 3:
    import tkinter as tk

import tkFont    
app = tk.Tk()
labelExample1 = tk.Label(app, text="Customized Label 1", font=("Times", 20))
labelExample2 = tk.Label(app, text="Customized Label 2", 
                         font=("Times", 20, "italic"))

labelFont3 = tkFont.Font(family="Helvetica", size=20, weight=tkFont.BOLD,
                         underline=1, overstrike=1)
labelExample3 = tk.Label(app, text="Customized Label 3", 
                         font=labelFont3)
labelExample1.pack()
labelExample2.pack()
labelExample3.pack()
app.mainloop()

Tkinterная этикетка с измененным шрифтом текста

Установить Python Tkinter этикетка Шрифт с кортежом

labelExample1 = tk.Label(app, text="Customized Label 1", font=("Times", 20))
labelExample2 = tk.Label(app, text="Customized Label 2", 
                         font=("Times", 20, "italic"))

Кортеж, первым элементом которого является тип шрифта, затем следует размер, стиль, например, вес, курсив, подчеркивание и/или зачеркивание.

Установите Python Tkinter Label Font с tkFont Объект шрифта

labelFont3 = tkFont.Font(family="Helvetica", size=20, weight=tkFont.BOLD,
                         underline=1, overstrike=1)
labelExample3 = tk.Label(app, text="Customized Label 3", 
                         font=labelFont3)

Вы также можете использовать объект шрифта в модуле tkFont для указания свойств шрифта текста этикетки.

Тип шрифта в labelExample3 - это семейство шрифтов Helvetica, размер 20, полужирный, подчеркнутый и перечеркнутый.

Tkinter Label_Get Fonts List.py
from sys import version_info
if version_info.major == 2:
    import Tkinter as tk
elif version_info.major == 3:
    import tkinter as tk

import tkFont
from pprint import pprint

app = tk.Tk()
pprint(tkFont.families())  

Изменить цвет(ы) Python Tkinter LabelЦвет(а)

Вы можете изменить цвет переднего плана и фона этикетки, используя свойства fg/bg.

labelExample1 = tk.Label(app, text="Customized Color",bg="gray", fg="red")

Смена виджета виджета переднего плана и цвета фона

Изображение на дисплее в Python Tkinter Label

Свойство image в label используется для отображения изображения на этикетке.

Tkinter Lael_Display Image.py
from sys import version_info
if version_info.major == 2:
    import Tkinter as tk
elif version_info.major == 3:
    import tkinter as tk
    

app = tk.Tk()
logo = tk.PhotoImage(file='python.gif')
labelExample = tk.Label(app, image=logo)
labelExample.pack()
app.mainloop()

Изображение в этикетке

Предупреждение

tk.PhotoImage мог отображать только цветные изображения в формате GIF, PPM/PGM. Он генерирует _tkinter.TclError: не смог распознать данные в файле изображения, если вы используете другие форматы изображения.

comments powered by Disqus