El módulo messagebox proporciona una plantilla, los cuadros de mensajes devolverán True, False, None, OK, CANCEL, YES, NO según la selección del usuario.
Tenemos diferentes cuadros:
· Showinfo, crea y muestra un cuadro de mensaje de información con el título y mensaje especificados.
· Showwarning, crea y muestra un cuadro de mensaje de advertencia con el título y mensaje especificados.
· Showerror, crea y muestra un cuadro de mensaje de error con el título y mensaje especificados.
· Askokcancel, muestra los botones OK y CANCEL. Devuelve True si la respuesta es correcta y False en caso contrario.
· Askyesno, hacer una pregunta. Muestra los botones YES y NO. Devuelve True si la respuesta es sí y False en caso contrario.
· Askyesnocancel, hace una pregunta. Muestra los botones YES, NO, CANCEL Devuelve True si la respuesta es afirmativa, None si se cancela y False en caso contrario.
Veamos algunos ejemplos.
Para usar los cuadros de diálogos, debemos de traernos el módulo messagebox de Tkinter.
Vamos a usar el método showinfo, que muestra información, tiene dos argumentos, que es el título, y, el contenido que va a aparecer en la ventana.
Podemos ver el icono que presenta.
Vamos a cambiar el mensaje y vamos a poner showwarning, veremos como el icono cambia.
Cambiamos a showerror.
Vemos como el icono cambia.
Hasta ahora, estas ventanas son de advertencia o de información.
Vamos a volver al ejemplo del video anterior, donde introducíamos do cantidades, y, decidimos si sumar o restar.
De la función mostrar dejamos las variables valor1, valor2, y, etiqueta.
Borramos los botones de opción.
Creamos un botón, con el titulo Aceptar, y, como parámetro command, ponemos la función mostrar.
Vamos a usar para este ejemplo askyesno.
Vamos a la función mostrar, creamos una variable, igualamos a:
La variable valor va a valer True o False, True valdrá cuando hagamos clic en sí, y, False cuando hagamos clic en no.
Con un if, preguntamos si variable valor es igual a True, en ese caso, ponemos la variable opción, y sumamos valor1 y valor2.
En caso contrario, la variable valor, vale:
Volvemos a preguntar si la variable valor es igual a True, en ese caso, que reste las variables valor1 y valor2, en caso contrario, que cierre la ventana, para ello, usamos el método destroy.
Probamos, y, vemos cómo funciona correctamente.
Si en vez de askyesno, usamos askokcancel, en vez de aparecer los botones si y no, aparecen los botones si y cancelar, el funcionamiento es el mismo.
Ahora, usamos askyesnocancel, en este caso, va a aparecer tres botones, si, no, cancelar, por lo que debemos de controlar el botón de cancelar.
Miguel Angel Franco
Comments