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 vas a ver cómo crear cuadros de diálogo los conocidos en Tkinter como messagebox.
Un cuadro de diálogo es una ventanita, con título, un mensaje, algunos botones y un icono.
Son utilizados para informar a los usuarios sobre algún problema, alguna información extra, para decidir si aceptar o cancelar algo, etc.
Para acceder a estos cuadros de diálogo debemos importar algo más de Tkinter.
from tkinter import messagebox
Y ya sabes, al igual que con la biblioteca Tkinter, podemos importar todo de este módulo para no tener que escribir cada vez messagebox.
from tkinter.messagebox import *
Antes de crear tu primer pop-up quiero que sepas como cambiar el título y el icono de la ventana principal.
Para el título añadimos a la ventana principal un title y para el icono un iconbitmap que deberá ser una imagen con extensión .ico.
from tkinter import *
from tkinter.messagebox import *
root = Tk()
root.title("Este es el título de la ventana principal")
root.iconbitmap("img/computer.ico")
mainloop()
Ahora que ya tenemos personalizada la ventana principal, veamos cómo crear una ventana de diálogo o pop-up, llámalo como prefieras.
Para mostrarlo podemos crear una función que va a ser llamada en un evento, por ejemplo, cuando pulsemos un botón.
def muestra_ventana():
showinfo("Aquí se escribe el título de la ventana",
"Este es el mensaje que se muestra en la ventana.")
boton1 = Button(root, text="Enviar", command=muestra_ventana, width=75).pack()
Tenemos el tipo de cuadro de diálogo showinfo, que es el que estás viendo en la imagen de arriba. El primer parámetro de texto lo obtiene en su título y el segundo es la información que muestra. Además, muestra un icono propio del sistema operativo.
Veamos showwarning. Este tipo de cuadro muestra las mismas características, solo que en lugar de llevar el icono de info, nos muestra uno de advertencia y el sonido también puede ser distinto según la configuración del sistema operativo que uses.
def muestra_ventana():
showwarning("Aquí se escribe el título de la ventana",
"Este es el mensaje que se muestra en la ventana.")
boton1 = Button(root, text="Enviar", command=muestra_ventana, width=75).pack()
Para los errores podemos configurar un showerror.
Lo mismo, titulo, mensaje, botón de aceptar y cambia el icono y el sonido.
def muestra_ventana():
showerror("Aquí se escribe el título de la ventana",
"Este es el mensaje que se muestra en la ventana.")
boton1 = Button(root, text="Enviar", command=muestra_ventana, width=75).pack()
Estos eran los cuadros de tipo informativo, ahora veamos los de tipo pregunta.
Con askquestion tenemos un título y un mensaje, pero además nos da dos opciones, si o no y tiene un icono de interrogación.
def muestra_ventana():
askquestion("Aquí se escribe el título de la ventana",
"¿Debería dejar de programar y salir a la calle?")
boton1 = Button(root, text="Enviar", command=muestra_ventana, width=75).pack()
Este tipo es igual que el anterior.
def muestra_ventana():
askyesno("Aquí se escribe el título de la ventana",
"¿Debería dejar de programar y salir a la calle?")
boton1 = Button(root, text="Enviar", command=muestra_ventana, width=75).pack()
Tienes en el vídeo el resto de tipos de messagebox. Son muy similares, así que no importa que ponga aquí el código.
En el siguiente capítulo te enseñaré a crear una serie de condiciones para poder interactuar y hacer algo con los botones de los messagebox.
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.