Pitón

Cómo utilizar PyQt QMessageBox

Cómo utilizar PyQt QMessageBox
El cuadro de mensaje se utiliza en la aplicación GUI para proporcionar la información necesaria para el usuario o para pedirle que realice acciones basadas en el mensaje. Se pueden crear cuatro tipos de cuadros de mensaje para cualquier aplicación GUI, incluido el cuadro de mensaje informativo, el cuadro de mensaje de advertencia, el cuadro de mensaje crítico y el cuadro de mensaje de pregunta. La QMessageBox la clase de PyQt se usa en Python para crear un cuadro de mensaje. Este tutorial le muestra cómo usar la clase QMessageBox para crear varios cuadros de mensaje.

Métodos necesarios

La clase QMessageBox tiene muchos métodos para crear varios tipos de cuadros de mensaje. Algunos de los métodos más utilizados de la clase QMessageBox se describen a continuación:

Nombres de métodos  Propósito
setTitle () Se usa para mostrar el título personalizado.
setText () Se usa para configurar el texto del mensaje principal.
setDetailText () Se utiliza para mostrar una ventana con un botón de detalles; el texto del mensaje aparecerá después de que el usuario haga clic en el botón.
setInformativeText Se usa para mostrar el mensaje adicional.
setIcon () Se utiliza para establecer un icono en el cuadro de mensaje según el tipo de mensaje.
setWindowTitle () Se usa para establecer el título de la ventana del mensaje.
setDefaultButton () Se utiliza para establecer el botón en el cuadro de mensaje predeterminado; el botón emitirá una señal de clic cuando el Ingresar se presiona la tecla.
setEscapeButton () Se usa para configurar cualquier botón para que funcione como una tecla de escape; el botón emitirá una señal de clic cuando el Escapar se presiona la tecla.
setStandardButtons () Se pueden usar varios botones estándar en el cuadro de mensaje según el tipo de mensaje, como Aceptar, Sí, No, Cancelar, Cerrar, etc.

Uso de QMessageBox

Las siguientes secciones de este tutorial proporcionan ejemplos que le mostrarán cómo crear diferentes cuadros de mensaje usando la clase QMessageBox.

Ejemplo 1: crear un cuadro de mensaje informativo

El siguiente script creará un cuadro de mensaje informativo simple usando la clase QMessageBox. Este tipo de cuadro de mensaje proporciona el mensaje informativo solo para el usuario. OK es el botón predeterminado en el cuadro de mensaje. Aquí, QMessageBox.Información se utiliza en el setIcon () método para mostrar el icono de información en el cuadro de mensaje.

# Importar módulos necesarios
importar sys
de PyQt5.QtWidgets importan QApplication, QMainWindow, QMessageBox
# Defina la clase para mostrar un mensaje informativo
clase MessageWindow (QMainWindow):
def __init __ (yo):
# Llamar al constructor padre
súper().__en eso__()
# Crea el objeto de cuadro de mensaje
uno mismo.msg = QMessageBox ()
# Establecer el icono de información
uno mismo.msg.setIcon (QMessageBox.Información)
# Establecer el mensaje principal
uno mismo.msg.setText ("La tarea se completó correctamente.")
# Establecer el título de la ventana
uno mismo.msg.setWindowTitle ("Mensaje informativo")
# Mostrar el cuadro de mensaje
uno mismo.msg.show()
# Crea el objeto de la aplicación y ejecuta la aplicación
app = QApplication (sys.argv)
Win = MessageWindow ()
aplicación.ejecutivo ()

El siguiente cuadro de mensaje aparecerá después de que se ejecute el script anterior.

Ejemplo 2: crear un cuadro de mensaje de advertencia

El siguiente script creará el cuadro de mensaje de advertencia utilizando la clase QMessageBox. Este tipo de cuadro de mensaje proporciona el mensaje de advertencia para el usuario. La advertencia se utiliza en el setIcon () método para mostrar el icono de advertencia en el cuadro de mensaje. La OK y Cancelar Los botones se agregan al cuadro de mensaje mediante el setStandardButtons () método. Un método personalizado llamado msgButton () se define en la clase para rastrear el botón en el cuadro de mensaje en el que ha hecho clic el usuario. Si el usuario hace clic en el OK botón, luego el texto, 'Se presiona el botón OK,'imprimirá; de lo contrario, el 'Se presiona el botón Cancelarse imprimirá el texto.

# Importar módulos necesarios
importar sys
de PyQt5.QtWidgets importan QApplication, QMainWindow, QMessageBox
# Defina la clase para mostrar un mensaje informativo
clase MessageWindow (QMainWindow):
def __init __ (yo):
# Llamar al constructor padre
súper().__en eso__()
# Crea el objeto de cuadro de mensaje
uno mismo.msgWarning = QMessageBox ()
# Establecer el icono de advertencia
uno mismo.msgWarning.setIcon (QMessageBox.Advertencia)
# Establecer el mensaje principal
uno mismo.msgWarning.setText ("Nombre variable no está definida.")
# Establecer dos botones para el cuadro de mensaje
uno mismo.msgWarning.setStandardButtons (QMessageBox.Ok | QMessageBox.Cancelar)
# Llame al método personalizado al hacer clic en el botón
uno mismo.msgWarning.buttonClicked.conectar (uno mismo.msgButton)
# Establecer el título de la ventana
uno mismo.msgWarning.setWindowTitle ("Mensaje de advertencia")
# Mostrar el cuadro de mensaje
uno mismo.msgWarning.show()
# Definir función para los botones
def msgButton (self, i):
si yo.text () == '& OK':
imprimir ("Se presiona el botón OK.")
demás:
imprimir ("Se presiona el botón Cancelar.")
# Crea el objeto de la aplicación y ejecuta la aplicación
app = QApplication (sys.argv)
Win = MessageWindow ()
aplicación.exec_ ()

El siguiente cuadro de mensaje aparecerá después de que se ejecute el script anterior.

Si el usuario hace clic en el OK botón, aparecerá la siguiente salida.

Ejemplo 3: crear un Pregunta Advertencia Mensaje

El siguiente script creará el cuadro de mensaje de pregunta utilizando la clase QMessageBox. Este tipo de cuadro de mensaje proporciona el mensaje de pregunta para que el usuario realice la acción en particular según la decisión del usuario. Aquí, QMessageBox.Pregunta se utiliza en el setIcon () método para mostrar el icono de pregunta en el cuadro de mensaje. La y No Los botones se agregan al cuadro de mensaje mediante el setStandardButtons () método. La No El botón se establece como el botón predeterminado mediante el método setDefaultButton (). Un método personalizado llamado msgButton () se define en la clase para rastrear el botón en el cuadro de mensaje en el que ha hecho clic el usuario.

# Importar módulos necesarios
importar sys
de PyQt5.QtWidgets importan QApplication, QMainWindow, QMessageBox
# Defina la clase para mostrar un mensaje informativo
clase MessageWindow (QMainWindow):
def __init __ (yo):
# Llamar al constructor padre
súper().__en eso__()
# Crea el objeto de cuadro de mensaje
uno mismo.msgQuestion = QMessageBox ()
# Establecer el icono de advertencia
uno mismo.msgQuestion.setIcon (QMessageBox.Pregunta)
# Establecer el mensaje principal
uno mismo.msgQuestion.setText ("¿Quieres continuar?")
# Establecer dos botones para el cuadro de mensaje
uno mismo.msgQuestion.setStandardButtons (QMessageBox.Si | QMessageBox.No)
uno mismo.msgQuestion.setDefaultButton (QMessageBox.No)
# Llame al método personalizado al hacer clic en el botón
uno mismo.msgQuestion.buttonClicked.conectar (uno mismo.msgButton)
# Establecer el título de la ventana
uno mismo.msgQuestion.setWindowTitle ("Hacer una pregunta al usuario")
# Mostrar el cuadro de mensaje
uno mismo.msgQuestion.show()
# Definir función para los botones
def msgButton (self, i):
si yo.text () == '& Sí':
imprimir ("La tarea continúa ...")
demás:
print ("Has cancelado la tarea.")
# Crea el objeto de la aplicación y ejecuta la aplicación
app = QApplication (sys.argv)
Win = MessageWindow ()
aplicación.exec_ ()

El siguiente cuadro de mensaje aparecerá después de que se ejecute el script anterior.

Si el usuario hace clic en el Ingresar sin seleccionar ningún botón, No El botón se activará de forma predeterminada y aparecerá la siguiente salida:

Conclusión

En este tutorial, se crearon tres tipos diferentes de cuadros de mensaje utilizando la clase QMessageBox. Con suerte, este tutorial te ayudó a comprender mejor el uso de esta clase. Ahora debería poder crear un cuadro de mensaje para la aplicación PyQt.

Cómo impulsar FPS en Linux?
FPS significa Cuadros por segundo. La tarea de FPS es medir la velocidad de fotogramas en reproducciones de video o actuaciones de juegos. En palabras...
Los mejores juegos de Oculus App Lab
Si es propietario de un visor Oculus, debe estar informado sobre la descarga lateral. Sideloading es el proceso de instalación de contenido que no es ...
Los 10 mejores juegos para jugar en Ubuntu
La plataforma Windows ha sido una de las plataformas dominantes para juegos debido al gran porcentaje de juegos que se están desarrollando hoy para ad...