TUTORIAL · Tkinter
Tkinter Tutorial - Buzón de mensajes
Este artículo del tutorial introduce el cuadro de mensajes en Python Tkinter.
En esta página
El cuadro de mensaje de Tkinter es la ventana emergente que aparece en la pantalla para darle información en texto plano o hacerle al usuario una pregunta como ¿Está seguro de salir? Sí o No?.
Cuadro de mensaje Tkinter
#!/usr/bin/python3
import tkinter as tk
from tkinter import messagebox
messagebox.showinfo("Basic Example", "a Basic Tk MessageBox")
from tkinter import messagebox
Necesitamos importar messagebox desde tkinter.
messagebox.showinfo("Basic Example", "a Basic Tk MessageBox")
showinfo es una de las funciones de show en messagebox. Muestra la información en la caja de mensajes, donde Basic Example es el título de la caja y a Basic Tk MessageBox es la información que se muestra.
Las funciones de visualización en el messagebox de Tkinter son,
| Mostrar la función | Descripción |
|---|---|
showinfo |
información básica |
showwarning |
información de alerta |
showerror |
información de error |
askquestion |
hacer la pregunta al usuario |
askokcancel |
las respuestas son ok y cancel |
askyesno |
Las respuestas son yes y no |
askretrycancel |
Las respuestas son retry y cancel |
Ejemplo de cuadro de mensajes de Tkinter
import tkinter as tk
from tkinter import messagebox
messagebox.showwarning("Warning Example", "Warning MessageBox")
messagebox.showerror("Error Example", "Error MessageBox")
messagebox.askquestion("Ask Question Example", "Quit?")
messagebox.askyesno("Ask Yes/No Example", "Quit?")
messagebox.askokcancel("Ask OK Cancel Example", "Quit?")
messagebox.askretrycancel("Ask Retry Cancel Example", "Quit?")
Ejemplo de cuadro de mensajes de Tkinter en la GUI
Los ejemplos anteriores muestran los recuadros de mensajes para darnos una primera impresión. Pero normalmente, el cuadro de mensaje aparece después de que el usuario hace clic en un botón.
Presentaremos cómo enlazar el cuadro de mensaje con un clic de botón y la acción o comando después de que el usuario haga clic en diferentes opciones del cuadro de mensaje.
import tkinter as tk
from tkinter import messagebox
root = tk.Tk()
root.geometry("300x200")
def ExitApp():
MsgBox = tk.messagebox.askquestion("Exit App", "Really Quit?", icon="error")
if MsgBox == "yes":
root.destroy()
else:
tk.messagebox.showinfo("Welcome Back", "Welcome back to the App")
buttonEg = tk.Button(root, text="Exit App", command=ExitApp)
buttonEg.pack()
root.mainloop()
Construimos la caja de mensaje en la función ExitApp() que está ligada al botón buttonEg.
if MsgBox == 'yes':
El valor de retorno de la opción en la que se ha hecho clic es yes o no en el cuadro de mensajes askquestion.
La siguiente acción podría ser cerrar la aplicación, mostrando otra caja de mensaje u otro comportamiento definido.