Curso de TKINTER desde cero

Mostrar mensajes con Tkinter de error, advertencia, info, etc.

Capítulo 10: Los cuadros de diálogo (messagebox)

En 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()
Icono y título ventana Tkinter

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.

El messagebox showinfo de Tkinter

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()
Messagebox showinfo tkinter

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.

messagebox showwarning

El messagebox showwarning 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()
Messagebox showwarning tkinter

messagebox showerror

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()
Messagebox showerror tkinter

Estos eran los cuadros de tipo informativo, ahora veamos los de tipo pregunta.

messagebox askquestion

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()
Messagebox askquestion tkinter

messagebox askyesno

El tipo de messagebox askyesno 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()
Messagebox askyesno tkinter

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.

Comentarios

Si te quedan dudas sobre el temario, sobre Tkinter, 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.

Programación Fácil YouTube

Suscríbete

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.