PyQt5 – Cuadro de mensaje

En este artículo, analizaremos el widget de cuadro de mensaje del módulo PyQT5. Se utiliza para mostrar los cuadros de mensaje. PyQt5 es una biblioteca utilizada para crear GUI utilizando el marco Qt GUI. Qt está originalmente escrito en C++ pero se puede usar en Python. La última versión de PyQt5 se puede instalar usando el comando:

pip install PyQt5

¿Qué es un cuadro de mensaje?

Los cuadros de mensaje generalmente se usan para declarar una pequeña información al usuario. Les da a los usuarios un cuadro emergente, que no se puede perder, para evitar que los usuarios pierdan errores e información importantes y, en algunos casos, el usuario no puede continuar sin reconocer el cuadro de mensaje.

Según las aplicaciones, existen cuatro tipos de cuadros de mensajes. La siguiente es la sintaxis para crear un cuadro de mensaje. Para cualquiera de los cuadros, se debe realizar una instanciación.

Sintaxis:

msg_box_name = QMessageBox() 

Ahora, de acuerdo con el requisito, se crea un cuadro de mensaje apropiado.

Tipos de cuadro de mensaje

Cuadro de mensaje de información

Este tipo de cuadro de mensaje se utiliza cuando es necesario pasar información relacionada al usuario.

Sintaxis:

msg_box_name.setIcon(QMessageBox.Información) 

Cuadro de mensaje de pregunta

Este cuadro de mensaje se utiliza para obtener una respuesta de un usuario con respecto a alguna actividad o acción a realizar.

Sintaxis:

msg_box_name.setIcon(QMessageBox.Pregunta)

Cuadro de mensaje de advertencia

Esto desenstring una advertencia sobre la acción que el usuario está a punto de realizar.

Sintaxis:

msg_box_name.setIcon(QMessageBox.Advertencia)

Cuadro de mensaje crítico

Esto se usa a menudo para obtener la opinión del usuario para una acción crítica.  

Sintaxis:

msg_box_name.setIcon(QMessageBox.Critical)

Crear un cuadro de mensaje simple usando PyQt5

Ahora, para crear un programa que produzca un cuadro de mensaje, primero importe todos los módulos requeridos y cree un widget con cuatro botones, al hacer clic en cualquiera de estos se generará un cuadro de mensaje.  

Ahora, para cada botón, asocie un cuadro de mensaje que aparece cuando se hace clic en el botón respectivo. Para esto primero, cree una instancia de un cuadro de mensaje y agregue un ícono requerido. Ahora configure los atributos apropiados para el pop que se generará. Además, agregue botones para hacer frente a los mecanismos estándar.

A continuación se muestra la implementación completa.

Programa:

Python

#import libraries
import sys
from PyQt5.QtWidgets import *
  
  
def window():
        # create pyqt5 app
    app = QApplication(sys.argv)
    w = QWidget()
  
    # create buttons
  
    # b1- Information button
    b1 = QPushButton(w)
    b1.setText("Information")
    b1.move(45, 50)
  
    # b2- Warning button
    b2 = QPushButton(w)
    b2.setText("Warning")
    b2.move(150, 50)
  
    # b3- Question button
    b3 = QPushButton(w)
    b3.setText("Question")
    b3.move(50, 150)
  
    # b4- Critical button
    b4 = QPushButton(w)
    b4.setText("Critical")
    b4.move(150, 150)
  
    # declaring command when button clicked
    b1.clicked.connect(show_info_messagebox)
    b2.clicked.connect(show_warning_messagebox)
    b3.clicked.connect(show_question_messagebox)
    b4.clicked.connect(show_critical_messagebox)
  
    # setting title of the window
    w.setWindowTitle("PyQt MessageBox")
      
    # showing all the widgets
    w.show()
      
    # start the app
    sys.exit(app.exec_())
  
  
def show_info_messagebox():
    msg = QMessageBox()
    msg.setIcon(QMessageBox.Information)
  
    # setting message for Message Box
    msg.setText("Information ")
      
    # setting Message box window title
    msg.setWindowTitle("Information MessageBox")
      
    # declaring buttons on Message Box
    msg.setStandardButtons(QMessageBox.Ok | QMessageBox.Cancel)
      
    # start the app
    retval = msg.exec_()
  
  
def show_warning_messagebox():
    msg = QMessageBox()
    msg.setIcon(QMessageBox.Warning)
  
    # setting message for Message Box
    msg.setText("Warning")
      
    # setting Message box window title
    msg.setWindowTitle("Warning MessageBox")
      
    # declaring buttons on Message Box
    msg.setStandardButtons(QMessageBox.Ok | QMessageBox.Cancel)
      
    # start the app
    retval = msg.exec_()
  
  
def show_question_messagebox():
    msg = QMessageBox()
    msg.setIcon(QMessageBox.Question)
  
    # setting message for Message Box
    msg.setText("Question")
      
    # setting Message box window title
    msg.setWindowTitle("Question MessageBox")
      
    # declaring buttons on Message Box
    msg.setStandardButtons(QMessageBox.Ok | QMessageBox.Cancel)
      
    # start the app
    retval = msg.exec_()
  
  
def show_critical_messagebox():
    msg = QMessageBox()
    msg.setIcon(QMessageBox.Critical)
  
    # setting message for Message Box
    msg.setText("Critical")
      
    # setting Message box window title
    msg.setWindowTitle("Critical MessageBox")
      
    # declaring buttons on Message Box
    msg.setStandardButtons(QMessageBox.Ok | QMessageBox.Cancel)
      
    # start the app
    retval = msg.exec_()
  
if __name__ == '__main__':
    window()

Producción

Publicación traducida automáticamente

Artículo escrito por sudharshini2k 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 *