Entrada

Tkinter Messagebox

Tkinter, cuenta con una variedad de herramientas para crear de mensajes. Estos cuadros de mensajes son ideales para notificaciones, alertas y confirmaciones de usuarios en diversas aplicaciones.

En este post cubriremos los siguientes temas:

  • Cómo mostrar mensajes de información con showinfo.
  • Cómo crear advertencias con showwarning
  • Cómo manejar errores con showerror
  • Cómo hacer preguntas interactivas con askquestion

¿Qué es messagebox?

El módulo messagebox de Tkinter es una herramienta que te permite mostrar cuadros de diálogo emergentes de manera sencilla. Estos cuadros pueden incluir mensajes de texto, botones y, según el tipo de mensaje (como información, advertencia o error), incluso iconos que ayudan a comunicar el propósito del mensaje de forma visual. Es ideal para interactuar con el usuario de forma rápida y efectiva sin necesidad de crear interfaces complejas.

¿Cómo usar messagebox en Tkinter?

Antes de comenzar a usar messagebox, necesitas importarlo desde Tkinter. Aquí tienes cómo hacerlo:

1
from tkinter import Tk, messagebox

Crear una Ventana de Aplicación Básica

Para mostrar un messagebox, primero debes crear una ventana principal de Tkinter. Aquí tienes un ejemplo básico para implementar un cuadro de diálogo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import tkinter as tk
from tkinter import messagebox

# Crear la ventana principal
root = tk.Tk()
root.title("Ejemplo de Messagebox")
root.geometry("300x200")

# Función para mostrar un mensaje de alerta
def mostrar_alerta():
    messagebox.showinfo(
      "Información",
      "Este es un mensaje de información."
    )

# Crear un botón que llamará a la función mostrar_alerta
boton = tk.Button(root, text="Mostrar Alerta", command=mostrar_alerta)
boton.pack(pady=20)

# Ejecutar el bucle principal de eventos
root.mainloop()

En este ejemplo:

  • Se crea una ventana principal con el título “Ejemplo de Messagebox” y un tamaño de 300x200 píxeles.
  • Se define una función mostrar_alerta que utiliza messagebox.showinfo para mostrar un cuadro de mensaje de información.
  • Se crea un botón que llama a esta función cuando se hace clic.

Si ejecutamos el script anterior, obtendríamos una ventana gráfica como la siguiente:

Ejemplo de Messagebox

Tipos de Mensajes con messagebox

El módulo messagebox ofrece varias funciones para mostrar diferentes tipos de cuadros de mensaje. A continuación, se presentan los más comunes:

Mensajes de Información

1
messagebox.showinfo("Título del Mensaje", "Este es un mensaje de información.")
  • Propósito: Mostrar información general.
  • Botones: OK

img

Mensajes de Advertencia

1
messagebox.showwarning("Título de Advertencia", "Este es un mensaje de advertencia.")
  • Propósito: Advertir al usuario sobre una acción o situación que podría ser problemática.
  • Botones: OK

img

Mensajes de Error

1
messagebox.showerror("Título de Error", "Este es un mensaje de error.")
  • Propósito: Informar al usuario sobre un error o problema.
  • Botones: OK

img

Mensaje de Confirmación

1
2
3
4
5
6
7
8
9
respuesta = messagebox.askyesno(
  "Confirmación",
  "¿Estás seguro de que deseas continuar?"
)

if respuesta:
    print("El usuario seleccionó Sí.")
else:
    print("El usuario seleccionó No.")
  • Propósito: Solicitar una respuesta del usuario para confirmar una acción.
  • Botones: Sí, No
  • Valor de Retorno: True o False, según la elección del usuario.

Mensajes de Pregunta

1
2
3
4
5
6
7
8
9
respuesta = messagebox.askquestion(
  "Pregunta",
  "¿Deseas guardar los cambios?"
)

if respuesta == 'yes':
    print("El usuario seleccionó Sí.")
else:
    print("El usuario seleccionó No.")
  • Propósito: Hacer una pregunta al usuario y obtener una respuesta.
  • Botones: Sí, No
  • Valor de Retorno: 'yes' o 'no'

img

Uso de Iconos en messagebox

Los cuadros de mensaje también pueden incluir iconos para proporcionar contexto visual:

  • Icono de Información: messagebox.showinfo()
  • Icono de Advertencia: messagebox.showwarning()
  • Icono de Error: messagebox.showerror()
  • Icono de Pregunta: messagebox.askquestion(), messagebox.askyesno()

Cada uno de estos métodos incluye un icono específico que ayuda a transmitir el tipo de mensaje que se está mostrando.

Conclusión

El módulo messagebox de Tkinter es una herramienta poderosa para mejorar la interacción con los usuarios en las aplicaciones. Ya sea que necesitemos mostrar mensajes de información, advertencias, errores, o solicitar confirmaciones, messagebox proporciona una forma fácil y efectiva de hacerlo.

Esta entrada está licenciada bajo CC BY 4.0 por el autor.