¿Cómo cambiar el tamaño de fuente de la etiqueta Tkinter?

Tkinter Label se usa para mostrar una o más líneas, también se puede usar para mostrar mapas de bits o imágenes. En este artículo, vamos a cambiar el tamaño de fuente del widget de etiquetas. Para crear una etiqueta, use lo siguiente:

Sintaxis: etiqueta = Etiqueta(principal, opción, …)

Parámetros:
padre : Objeto del widget que mostrará esta etiqueta, generalmente un objeto raíz
texto : Para mostrar una o más líneas de texto.
imagen : para mostrar una imagen estática
compuesto: para mostrar tanto el texto como la imagen. Acepta ARRIBA, ABAJO, IZQUIERDA, DERECHA, CENTRO. Por ejemplo, si escribes composite=TOPimage se mostrará en la parte superior del texto.

Podemos hacer esto usando diferentes métodos:

Método 1: mediante el uso de la propiedad de fuente de Label .

Python3

# importing tkinter module and Widgets
from tkinter import Tk
from tkinter.ttk import Label
  
  
# Creating App class which will contain
# Label Widgets
class App:
    def __init__(self, master) -> None:
  
        # Instantiating master i.e toplevel Widget
        self.master = master
  
        # Creating first Label i.e with default font-size
        Label(self.master, text="I have default font-size").pack(pady=20)
  
        # Creating second label
        # This label has a font-family of Arial
        # and font-size of 25
        Label(self.master,
              text="I have a font-size of 25",
  
              # Changing font-size here
              font=("Arial", 25)
              ).pack()
  
  
if __name__ == "__main__":
  
    # Instantiating top level
    root = Tk()
  
    # Setting the title of the window
    root.title("Change font-size of Label")
  
    # Setting the geometry i.e Dimensions
    root.geometry("400x250")
  
    # Calling our App
    app = App(root)
  
    # Mainloop which will cause this toplevel
    # to run infinitely
    root.mainloop()

Producción: 

Método 2: mediante el uso de la clase Style. En este método, usaremos nuestro estilo personalizado; de lo contrario, todos los widgets de etiquetas tendrán el mismo estilo.

Python3

# importing tkinter module and Widgets
from tkinter import Tk
from tkinter.ttk import Label, Style
  
  
# Creating App class which will contain
# Label Widgets
class App:
    def __init__(self, master) -> None:
  
        # Instantiating master i.e toplevel Widget
        self.master = master
  
        # Creating first Label i.e with default font-size
        Label(self.master, text="I have default font-size").pack(pady=20)
  
        # Instantiating Style class
        self.style = Style(self.master)
  
        # Configuring Custom Style
        # Name of the Style is "My.TLabel"
        self.style.configure("My.TLabel", font=('Arial', 25))
  
        # Creating second label
        # This label has a font-family of Arial
        # and font-size of 25
        Label(
            self.master,
            text="I have a font-size of 25",
  
            # Changing font-size using custom style
            style="My.TLabel").pack()
  
  
if __name__ == "__main__":
  
    # Instantiating top level
    root = Tk()
  
    # Setting the title of the window
    root.title("Change font-size of Label")
  
    # Setting the geometry i.e Dimensions
    root.geometry("400x250")
  
    # Calling our App
    app = App(root)
  
    # Mainloop which will cause this toplevel
    # to run infinitely
    root.mainloop()

Producción:

Nota: En el método anterior, TLabel es el nombre del estilo predeterminado. Entonces, si desea crear su propio nombre de estilo, use siempre la siguiente sintaxis

mi_nombre_de_estilo.nombre_de_estilo_predeterminado

Ejemplo:
New.TButton # Para anular los estilos de Button Widget
My.TLabel # Para anular los estilos de Label Widget
Abc.TEntry # Para anular los estilos de Entry Widget

Si usa solo el nombre de estilo predeterminado, se aplicará a todos los widgets correspondientes, es decir, si uso TLabel en lugar de My.TLabel , ambas etiquetas tendrán un tamaño de fuente de 25. Y lo que es más importante, si usa el nombre de estilo predeterminado, entonces no necesita proporcionar propiedad de estilo.

Extra: cambiar el tamaño de fuente usando el nombre de estilo predeterminado.

Python3

# importing tkinter module and Widgets
from tkinter import Tk
from tkinter.ttk import Label, Style
  
  
# Creating App class which will contain
# Label Widgets
class App:
    def __init__(self, master) -> None:
  
        # Instantiating master i.e toplevel Widget
        self.master = master
  
        # Creating first Label i.e with default font-size
        Label(self.master, text="I have default font-size").pack(pady=20)
  
        # Instantiating Style class
        self.style = Style(self.master)
  
        # Changing font-size of all the Label Widget
        self.style.configure("TLabel", font=('Arial', 25))
  
        # Creating second label
        # This label has a font-family of Arial
        # and font-size of 25
        Label(self.master, text="I have a font-size of 25").pack()
  
  
if __name__ == "__main__":
  
    # Instantiating top level
    root = Tk()
  
    # Setting the title of the window
    root.title("Change font-size of Label")
  
    # Setting the geometry i.e Dimensions
    root.geometry("400x250")
  
    # Calling our App
    app = App(root)
  
    # Mainloop which will cause this toplevel
    # to run infinitely
    root.mainloop()

Observe en el programa anterior que no hemos proporcionado propiedades de estilo o fuente a ninguna de las etiquetas, pero ambas tienen el mismo tamaño de fuente y la misma familia de fuentes.

Producción:

Método 3: Usando la clase Font . En este método, crearemos un objeto Fuente y luego lo usaremos para cambiar el estilo de Fuente de cualquier widget. beneficio de esto

La clase de fuente consta de la siguiente propiedad:
raíz : objeto del widget de nivel superior.
family : El nombre de la familia de fuentes como una string.
tamaño : la altura de la fuente como un número entero en puntos.
peso : ‘negrita’/BOLD para negrita, ‘normal’/NORMAL para peso normal.
inclinado : ‘cursiva’/ITALIC para cursiva, ‘romana’/ROMAN para no inclinada.
subrayado : 1/Verdadero/VERDADERO para texto subrayado, 0/Falso/FALSO para normal.
tachado : 1/Verdadero/VERDADERO para texto tachado, 0/Falso/FALSO para normal.

Python3

# importing tkinter module and Widgets
from tkinter import Tk
from tkinter.font import BOLD, Font
from tkinter.ttk import Label
  
  
# Creating App class which will contain Label Widgets
class App:
    def __init__(self, master) -> None:
  
        # Instantiating master i.e toplevel Widget
        self.master = master
  
        # Creating first Label i.e with default font-size
        Label(self.master, text="I have default font-size").pack(pady=20)
  
        # Creating Font, with a "size of 25" and weight of BOLD
        self.bold25 = Font(self.master, size=25, weight=BOLD)
  
        # Creating second label
        # This label has a default font-family
        # and font-size of 25
        Label(self.master, text="I have a font-size of 25",
              font=self.bold25).pack()
  
  
if __name__ == "__main__":
  
    # Instantiating top level
    root = Tk()
  
    # Setting the title of the window
    root.title("Change font-size of Label")
  
    # Setting the geometry i.e Dimensions
    root.geometry("400x250")
  
    # Calling our App
    app = App(root)
  
    # Mainloop which will cause this toplevel
    # to run infinitely
    root.mainloop()

Producción:

Publicación traducida automáticamente

Artículo escrito por sanjeev2552 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *