Python – Diálogo de pregunta de Tkinter

En Python, hay bibliotecas Serval para la interfaz gráfica de usuario. Tkinter es uno de ellos que es más útil. Es una interfaz estándar. Tkinter es fácil de usar y proporciona funciones de servicio para crear aplicaciones eficientes. En cada aplicación, necesitamos algún mensaje para mostrar como «¿Desea cerrar?» o que muestre alguna advertencia o algo de información. Para esto, Tkinter proporciona una biblioteca como messagebox . Al usar la biblioteca de cuadros de mensajes, podemos mostrar información de servidor, error, advertencia, cancelación, etc. en forma de cuadro de mensaje. Tiene un cuadro de mensaje Diferente para un propósito diferente. 

  1. showinfo(): para mostrar información importante.
  2. showwarning() – Para mostrar algún tipo de Advertencia.
  3. showerror(): para mostrar algún mensaje de error.
  4. askquestion(): para mostrar un cuadro de diálogo que pregunta con dos opciones SÍ o NO.
  5. askokcancel(): para mostrar un cuadro de diálogo que pregunta con dos opciones, Aceptar o CANCELAR.
  6. askretrycancel(): para mostrar un cuadro de diálogo que pregunta con dos opciones REINTENTAR o CANCELAR.
  7. askyesnocancel(): para mostrar un cuadro de diálogo que pregunta con tres opciones SÍ, NO o CANCELAR.

Sintaxis de las funciones del cuadro de mensaje:  

  messagebox.name_of_function(Title, Message, [, options])
  1. name_of_function – Nombre de la función que queremos usar.
  2. Título: Título del cuadro de mensaje.
  3. Mensaje: mensaje que desea mostrar en el cuadro de diálogo.
  4. Opciones: para configurar las opciones.

Pregunta()

Esta función se utiliza para hacer preguntas al usuario. Eso tiene solo dos opciones SI o NO. 
Aplicación de esta función: 

  1. Podemos usar esto para preguntarle al usuario si desea continuar.
  2. Podemos usar esto para preguntarle al usuario si desea enviar o no.

Sintaxis:  

messagebox.askfunction((Title, Message, [, options])

Ejemplo:  

Python3

from tkinter import *
from tkinter import messagebox
  
     
# object of TK()
main = Tk()
 
# function to use the
# askquestion() function
def Submit():
    messagebox.askquestion("Form",
                           "Do you want to Submit")
     
# setting geometry of window
# instance
main.geometry("100x100")
 
# creating Window
B1 = Button(main, text = "Submit", command = Submit)
 
# Button positioning
B1.pack()  
 
# infinite loop till close
main.mainloop() 

Producción: 

output

1. Importación de las bibliotecas 
Para utilizar la funcionalidad de la GUI en python, debemos importar las bibliotecas. En la primera línea, estamos importando Tkinter, y en la segunda línea estamos importando la biblioteca de mensajes. 

from tkinter import *
from tkinter import messagebox

2. Instancia de la ventana principal 
Tenemos que crear una instancia u objeto para la ventana a TK(); Tk() es una función de Tkinter que crea una ventana a la que se puede hacer referencia desde la variable principal  

main = Tk()  

3. Establecer dimensión: 
establecemos la dimensión de la ventana, podemos establecerla de varias maneras. En esto, estamos configurando mediante la función de geometría() de tamaño «100X100».  

top.geometry("100x100")  

4. Aplicar otro widget y función 
En nuestro ejemplo, creamos un método llamado Enviar y llamamos a askquestion() y al botón de creación y lo configuramos mediante la función Pack()  

def Submit():
   messagebox.askquestion("Form", "Do you want to Submit")

main.geometry("100x100")  
B1 = Button(main, text = "Submit", command = Submit) 
B1.pack()  

5. mainloop() 
Este método se puede utilizar cuando todo el código está listo para ejecutarse. Ejecuta el bucle INFINITE utilizado para ejecutar la aplicación. Se abrirá una ventana hasta que se presione el botón de cerrar.

ICONOS que podemos usar en Opciones  

  1. Error
  2. Información
  3. Advertencia
  4. Pregunta

Podemos cambiar el icono del cuadro de diálogo. El tipo de ícono que queremos usar solo depende de la necesidad de la aplicación. tenemos cuatro iconos. 

Error  

 messagebox.function_name(Title, Message, icon='error')

Ejemplo-  

Python3

# illustration of icon - Error
from tkinter import *
from tkinter import messagebox
 
main = Tk()
 
def check():
   messagebox.askquestion("Form",
                          "Is your name correct?",
                          icon ='error')
 
main.geometry("100x100")
B1 = Button(main, text = "check", command = check)
B1.pack()
 
main.mainloop()

Producción:

output

información 

 messagebox.function_name(Title, Message, icon='info')

Ejemplo-  

Python3

# illustration of icon - Info
from tkinter import *
from tkinter import messagebox
 
main = Tk()
 
def check():
   messagebox.askquestion("Form",
                          "do you want to continue",
                          icon ='info')
 
main.geometry("100x100")
B1 = Button(main, text = "check", command = check)
B1.pack()
 
main.mainloop()

Producción: 

OUTPUT

Pregunta 

 messagebox.function_name(Title, Message, icon='question')

Ejemplo-  

Python3

# illustration of icon - question
from tkinter import *
from tkinter import messagebox
 
main = Tk()
 
def check():
   messagebox.askquestion("Form",
                          "are you 18+",
                          icon ='question')
 
main.geometry("100x100")
B1 = Button(main, text = "check", command = check)
B1.pack()
 
main.mainloop()

Producción: 

OUTPUT

Advertencia  

messagebox.function_name(Title, Message, icon='warning')

Ejemplo-  

Python3

# illustration of icon - Warning
from tkinter import *
from tkinter import messagebox
 
main = Tk()
 
def check():
   messagebox.askquestion("Form",
                          "Gender is empty?",
                          icon ='warning')
 
main.geometry("100x100")
B1 = Button(main, text = "check", command = check)
B1.pack()
 
main.mainloop()

Producción: 

OUTPUT

Publicación traducida automáticamente

Artículo escrito por MOINKHAN1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *