Tutorial de Tkinter - Widget de etiquetas

  1. Widget de etiqueta de Python Tkinter
  2. Cambiar la fuente de la etiqueta en Python
  3. Cambiar el color de las etiquetas de Python Tkinter
  4. Mostrar la imagen en la etiqueta de Python Tkinter

El widget de etiquetas muestra una cadena de texto o una imagen, cuyo contenido normalmente se supone que no es dinámico. Por supuesto, puedes cambiar su contenido si quieres.

Widget de etiqueta de Python Tkinter

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()

Genera una ventana con una etiqueta de texto dentro de la ventana principal.

Etiqueta básica de Tkinter

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

labelExample es una instancia de Label que muestra This is a label con el padre app.

labelExample.pack()

El método pack() gestiona el diseño del widget particular en el widget padre. Tiene las siguientes opciones

Método pack() Descripción
after=widget empaquetarlo después de haber empaquetado el widget
anchor=NSEW (or subset) Widget de posición según
before=widget empaquetar antes de empaquetar el widget
expand=bool expandir el widget si el tamaño del padre crece
fill=none or x or y or both llenar el widget si el widget crece
in=master usar el master para contener este widget
in_=master ver descripción de la opción in.
ipadx=amount añadir un acolchado interno en dirección x
ipady=amount añadir un acolchado interno en dirección y
padx=amount añadir el acolchado en dirección x
pady=amount añadir relleno en dirección y
side=top or bottom or left or right dónde añadir este widget.

Puedes cambiar las opciones para obtener el diseño del widget de etiqueta diferente.

La dimensión de la etiqueta se especifica por el ancho y el alto que pertenecen a las opciones específicas del widget de la etiqueta.

Información

El ancho y el alto tienen la unidad de unidades de texto cuando contiene texto, y su tamaño es de píxeles si muestra la imagen.

Puede obtener las propiedades de la etiqueta con el comando 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))

Las propiedades se enumeran a continuación

{'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>}

Ahora que conoce las propiedades de las etiquetas, podría obtener diferentes apariencias de las mismas al cambiarlas.

Cambiar la fuente de la etiqueta en Python

A continuación le mostramos diferentes métodos de configuración de fuentes de etiquetas.

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()

Etiqueta de Tkinter con fuente de texto modificada

Configurar la fuente de etiquetas Python Tkinter con una tupla

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

Una tupla con el nombre de la fuente como primer elemento, seguido por el tamaño, estilo como el peso, cursiva, subrayado y/o sobrecarga.

Establecer la fuente de etiquetas de Python Tkinter con tkFont Font Object

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

También puede utilizar el objeto font en el módulo tkFont para especificar las propiedades de la fuente de la etiqueta text.

El tipo de fuente en labelExample3 es la familia de fuentes Helvetica, tamaño 20, negrita, subrayada y sobretraída.

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())  

Cambiar el color de las etiquetas de Python Tkinter

Puede cambiar el color de la etiqueta en primer plano y en segundo plano usando las propiedades fg/bg.

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

Tkinter cambia el color de primer y segundo plano del widget

Mostrar la imagen en la etiqueta de Python Tkinter

La propiedad image de label se usa para mostrar la imagen en la etiqueta.

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()

Imagen de Tkinter en la etiqueta

Advertencia

tk.PhotoImage sólo podía mostrar imágenes de color en formato GIF, PPM/PGM. Genera _tkinter.TclError: no podía reconocer los datos en el archivo de imagen si utiliza otros formatos de imagen

comments powered by Disqus