Tkinter | Agregar estilo al texto de entrada usando el widget ttk.Entry

Tkinter es un módulo GUI (interfaz gráfica de usuario) que se usa ampliamente para crear aplicaciones GUI. Viene junto con el propio Python.

Los widgets de entrada se utilizan para obtener la entrada del usuario. Se puede crear de la siguiente manera:

 entry = ttk.Entry(master, option = value, ...) 

Código n.º 1: crear un widget de entrada y tomar la entrada del usuario (tomando solo datos de string).

# importing tkinter
from tkinter import * 
from tkinter import ttk
from tkinter.messagebox import askyesno
  
# creating root
root = Tk()
  
# specifying geometry
root.geometry('200x100')
  
# This is used to take input from user
# and show it in Entry Widget.
# Whatever data that we get from keyboard
# will be treated as string.
input_text = StringVar()
  
entry1 = ttk.Entry(root, textvariable = input_text, justify = CENTER)
  
# focus_force is used to take focus
# as soon as application starts
entry1.focus_force()
entry1.pack(side = TOP, ipadx = 30, ipady = 6)
  
save = ttk.Button(root, text = 'Save', command = lambda : askyesno(
                                'Confirm', 'Do you want to save?'))
save.pack(side = TOP, pady = 10)
  
root.mainloop()

Producción:
Creating Entry widget and taking input from user 1

Creating Entry widget and taking input from user 2

En el resultado anterior, tan pronto como ejecute el código, aparecerá una ventana de Tkinter y el widget de Entrada ya está enfocado, lo que significa que no tenemos que enfocar el área de Entrada.
Cuando presionemos Button aparecerá un mensaje de confirmación diciendo si desea guardar el texto o no (no guardará el texto, solo se usa para mostrar el funcionamiento de Button).
 
Código n.º 2: agregar estilo al texto ingresado en el widget de entrada.

# importing tkinter
from tkinter import * 
from tkinter import ttk
from tkinter.messagebox import askyesno
  
# creating root
root = Tk()
root.geometry('200x100')
  
input_text = StringVar()
  
# This class is used to add styling
# to any widget which are available
style = ttk.Style()
style.configure('TEntry', foreground = 'green')
  
entry1 = ttk.Entry(root, textvariable = input_text, justify = CENTER,
                                     font = ('courier', 15, 'bold'))   
entry1.focus_force()
entry1.pack(side = TOP, ipadx = 30, ipady = 10)
  
save = ttk.Button(root, text = 'Save', command = lambda : askyesno(
                                 'Confirm', 'Do you want to save?'))
save.pack(side = TOP, pady = 10)
  
root.mainloop()

Salida:
Adding Style to the entered text in Entry widget
en la salida anterior, puede notar que el color de la fuente cambia, la familia de fuentes cambia, el tamaño del texto es más grande de lo normal y el texto está escrito en negrita. Esto se debe a que estamos agregando estilo al texto de entrada.

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 *