PyCharm

Pycharm es un fantástico IDE para Python.
Cuenta con versión gratuita y versión de pago. Tú eliges.
Este es el IDE que utilizo en el curso
Ir a la página de descargaEn este capítulo te enseñaré a crear un elemento de formulario, Entry()
que es como el input text de HTML.
Pero antes de empezar veamos la solución al ejercicio del capítulo anterior.
Para mostrar el texto a la derecha:
from tkinter import *
root = Tk()
def click_boton():
Label(root, text="¡No vuelvas a presionarlo!").grid(row=0, column=1)
boton1 = Button(root,
text="No presiones el botón rojo",
bg="red",
padx=100,
pady=25,
command=click_boton).grid(row=0, column=0)
root.mainloop()
Para mostrar el texto a la izquierda:
from tkinter import *
root = Tk()
def click_boton():
Label(root, text="¡No vuelvas a presionarlo!").grid(row=0, column=0)
boton1 = Button(root,
text="No presiones el botón rojo",
bg="red",
padx=100,
pady=25,
command=click_boton).grid(row=0, column=1)
root.mainloop()
Ahora si, empecemos con el capítulo. Pasemos a ver como crear una entrada de datos.
Para crear una entrada de texto, tenemos el tipo de formulario y widget Entry()
que es como el <input type="text">
de HTML.
Mira cómo se crea:
from tkinter import *
root = Tk()
entrada = Entry(root)
entrada.grid(row=0, column=0)
def click_boton():
texto = Label(root, text="¡Se envío correctamente!").grid(row=0, column=0)
boton1 = Button(root,
text="Envíar",
bg="red",
padx=50,
pady=10,
command=click_boton).grid(row=1, column=0)
root.mainloop()
En este Entry()
podemos escribir lo que queramos y enviarlo a nuestro programa con solo apretar el botón.
En este caso, se reemplaza con el grid()
el widget. Esto ocurre al hacer click. En ese momento, se envía la información escrita y se sustituye por el mensaje que ocupa su misma posición en el grid()
.
Si quieres evitar esto y crear un nuevo espacio para el texto, seguro que ya sabes como hacerlo, tienes que indicar otras posiciones en el grid()
.
Veamos cómo hacer algo con el texto introducido, vamos a obtenerlo y a mostrarlo en el programa:
from tkinter import *
root = Tk()
entrada = Entry(root)
entrada.grid(row=0, column=0)
def click_boton():
texto = Label(root,
text=f'Se almacenó "{entrada.get()}" correctamente').grid(row=2, column=0)
boton1 = Button(root,
text="Envíar",
bg="red",
padx=50,
pady=10,
command=click_boton).grid(row=1, column=0)
root.mainloop()
Si le das al botón, el programa obtiene el texto y lo utiliza.
Al poder almacenar esto en una variable, se abre un mundo de posibilidades.
Veamos una cosa más y terminemos con el capítulo.
Si ponemos el atributo show
, reemplaza las letras por lo que le pongamos, de ese modo, por ejemplo, podríamos hacer un Entry()
para contraseñas.
from tkinter import *
root = Tk()
entrada = Entry(root, width=25, show="*")
entrada.insert(0, "Escriba aquí...")
entrada.grid(row=0, column=0)
def click_boton():
texto = Label(root,
text=f'Se almacenó "{entrada.get()}" correctamente').grid(row=2, column=0)
boton1 = Button(root,
text="Envíar",
bg="red",
padx=75,
pady=10,
command=click_boton).grid(row=1, column=0)
root.mainloop()
Todo lo que escribas en este Entry()
va a estar protegido visualmente cambiando los caracteres por asteríscos.
Si te ha gustado este curso y crees que el trabajo merece la pena, te agradeceré eternamente que te suscribas a mi canal de YouTube para apoyarme y que pueda seguir haciendo cursos gratuitos.
Además, si te encanta la programación, tienes un montón más de cursos gratuitos para ver.
No solo eso, podrás participar enviándome comentarios con tus sugerencias para temas específicos o cursos completos o incluso las dudas que tengas y las intentaré ir resolviendo en los cursos que estén todavía abiertos.
Si te quedan dudas sobre el temario, sobre Python, o cualquier otra cosa relacionada o simplemente quieres agradecer, aquí tienes tu sitio para dejar tu granito de arena. Gracias por tus comentarios y por darle vida a este sitio web.