En esta página

QErrorMessage Class

La clase QErrorMessage proporciona un diálogo de visualización de mensajes de error. Más...

Cabecera: #include <QErrorMessage>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
Hereda: QDialog

Funciones Públicas

QErrorMessage(QWidget *parent = nullptr)
virtual ~QErrorMessage()

Ranuras Públicas

void showMessage(const QString &message)
void showMessage(const QString &message, const QString &type)

Miembros públicos estáticos

QErrorMessage *qtHandler()

Funciones protegidas reimplementadas

virtual void changeEvent(QEvent *e) override
virtual void done(int a) override

Descripción detallada

Un widget de mensaje de error consiste en una etiqueta de texto y una casilla de verificación. La casilla de verificación permite al usuario controlar si el mismo mensaje de error se mostrará de nuevo en el futuro, normalmente mostrando el texto, "Mostrar este mensaje de nuevo" traducido al idioma local apropiado.

Para aplicaciones de producción, la clase puede utilizarse para mostrar mensajes que el usuario sólo necesita ver una vez. Para utilizar QErrorMessage de esta forma, se crea el diálogo de la forma habitual, y se muestra llamando a la ranura showMessage() o conectando señales a la misma.

La función estática qtHandler() instala un manejador de mensajes usando qInstallMessageHandler() y crea un QErrorMessage que muestra los mensajes qDebug(), qWarning() y qFatal(). Esto es muy útil en entornos en los que no se dispone de consola para mostrar advertencias y mensajes de error.

En ambos casos, QErrorMessage pondrá en cola los mensajes pendientes y los mostrará en orden, mostrando cada nuevo mensaje tan pronto como el usuario haya aceptado el mensaje anterior. Una vez que el usuario ha especificado que un mensaje no debe mostrarse de nuevo, se omite automáticamente, y el diálogo mostrará el siguiente mensaje apropiado en la cola.

El ejemplo de Diálogos Estándar muestra cómo utilizar QErrorMessage así como otros diálogos Qt incorporados.

Diálogo con un mensaje de error relacionado con la red

Ver también QMessageBox, QStatusBar::showMessage(), y Ejemplo de Diálogos Estándar.

Documentación de la Función Miembro

[explicit] QErrorMessage::QErrorMessage(QWidget *parent = nullptr)

Construye e instala una ventana de gestión de errores con la dirección parent.

El window modality predeterminado del diálogo depende de la plataforma. La modalidad de la ventana se puede anular mediante setWindowModality() antes de llamar a showMessage().

[virtual noexcept] QErrorMessage::~QErrorMessage()

Destruye el diálogo de mensaje de error.

[override virtual protected] void QErrorMessage::changeEvent(QEvent *e)

Reimplementa: QWidget::changeEvent(QEvent *event).

[override virtual protected] void QErrorMessage::done(int a)

Reimplementa: QDialog::done(int r).

[static] QErrorMessage *QErrorMessage::qtHandler()

Devuelve un puntero a un objeto QErrorMessage que emite los mensajes Qt por defecto. Esta función crea un objeto de este tipo, si no existe ya uno.

El objeto sólo mostrará mensajes de registro de QLoggingCategory::defaultCategory().

El objeto reenviará todos los mensajes al gestor de mensajes original.

Véase también qInstallMessageHandler.

[slot] void QErrorMessage::showMessage(const QString &message)

Muestra el mensaje dado, message, y vuelve inmediatamente. Si el usuario ha solicitado que no se vuelva a mostrar el mensaje, esta función no hace nada.

Normalmente, el mensaje se muestra inmediatamente. Sin embargo, si hay mensajes pendientes, se pondrá en cola para ser mostrado más tarde.

Nota: Esta ranura está sobrecargada. Para conectarse a esta ranura:

// Connect using qOverload:
connect(sender, &SenderClass::signal,
        errorMessage, qOverload(&QErrorMessage::showMessage));

// Or using a lambda as wrapper:
connect(sender, &SenderClass::signal,
        errorMessage, [receiver = errorMessage](const QString &message) { receiver->showMessage(message); });
Para más ejemplos y enfoques, véase conectarse a ranuras sobrecargadas.

[slot] void QErrorMessage::showMessage(const QString &message, const QString &type)

Muestra el mensaje dado, message, y retorna inmediatamente. Si el usuario ha solicitado que no se vuelvan a mostrar mensajes del tipo, type, esta función no hace nada.

Normalmente, el mensaje se muestra inmediatamente. Sin embargo, si hay mensajes pendientes, se pondrá en cola para ser mostrado más tarde.

Nota: Esta ranura está sobrecargada. Para conectarse a esta ranura:

// Connect using qOverload:
connect(sender, &SenderClass::signal,
        errorMessage, qOverload(&QErrorMessage::showMessage));

// Or using a lambda as wrapper:
connect(sender, &SenderClass::signal,
        errorMessage, [receiver = errorMessage](const QString &message, const QString &type) { receiver->showMessage(message, type); });
Para más ejemplos y enfoques, véase conectar con ranuras sobrecargadas.

Véase también showMessage().

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.