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