Sur cette page

QErrorMessage Class

La classe QErrorMessage fournit une boîte de dialogue pour l'affichage d'un message d'erreur. Plus d'informations...

En-tête : #include <QErrorMessage>
CMake : find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake : QT += widgets
Héritages : QDialog

Fonctions publiques

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

Emplacements publics

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

Membres publics statiques

QErrorMessage *qtHandler()

Fonctions protégées réimplémentées

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

Description détaillée

Un widget de message d'erreur se compose d'une étiquette de texte et d'une case à cocher. La case à cocher permet à l'utilisateur de contrôler si le même message d'erreur sera affiché à nouveau à l'avenir, en affichant généralement le texte "Afficher à nouveau ce message" traduit dans la langue locale appropriée.

Pour les applications de production, la classe peut être utilisée pour afficher des messages que l'utilisateur ne doit voir qu'une seule fois. Pour utiliser QErrorMessage de la sorte, vous créez la boîte de dialogue de la manière habituelle et vous l'affichez en appelant le slot showMessage() ou en y connectant des signaux.

La fonction statique qtHandler() installe un gestionnaire de messages utilisant qInstallMessageHandler() et crée un QErrorMessage qui affiche les messages qDebug(), qWarning() et qFatal(). Cette fonction est particulièrement utile dans les environnements où aucune console n'est disponible pour afficher les avertissements et les messages d'erreur.

Dans les deux cas, QErrorMessage met en file d'attente les messages en attente et les affiche dans l'ordre, chaque nouveau message étant affiché dès que l'utilisateur a accepté le message précédent. Une fois que l'utilisateur a spécifié qu'un message ne doit pas être affiché à nouveau, il est automatiquement ignoré et la boîte de dialogue affiche le message approprié suivant dans la file d'attente.

L'exemple des dialogues standard montre comment utiliser QErrorMessage ainsi que d'autres dialogues intégrés de Qt.

Dialogue avec un message d'erreur lié au réseau

Voir également QMessageBox, QStatusBar::showMessage(), et l'exemple des boîtes de dialogue standard.

Documentation sur les fonctions membres

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

Construit et installe une fenêtre de gestion des erreurs avec le nom parent.

L'adresse window modality par défaut de la boîte de dialogue dépend de la plate-forme. La modalité de la fenêtre peut être modifiée via setWindowModality() avant d'appeler showMessage().

[virtual noexcept] QErrorMessage::~QErrorMessage()

Détruit la boîte de dialogue du message d'erreur.

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

Réimplémente : QWidget::changeEvent(QEvent *event).

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

Réimplémente : QDialog::done(int r).

[static] QErrorMessage *QErrorMessage::qtHandler()

Renvoie un pointeur vers un objet QErrorMessage qui émet les messages Qt par défaut. Cette fonction crée un tel objet, s'il n'en existe pas déjà un.

L'objet n'affichera que les messages de QLoggingCategory::defaultCategory().

L'objet transmettra tous les messages au gestionnaire de messages d'origine.

Voir aussi qInstallMessageHandler.

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

Affiche le message donné, message, et retourne immédiatement. Si l'utilisateur a demandé que le message ne soit plus affiché, cette fonction ne fait rien.

Normalement, le message est affiché immédiatement. Toutefois, s'il y a des messages en attente, il sera mis en file d'attente pour être affiché plus tard.

Note : Ce slot est surchargé. Pour se connecter à ce slot :

// 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); });
Pour plus d'exemples et d'approches, voir Connexion aux slots surchargés.

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

Affiche le message donné, message, et retourne immédiatement. Si l'utilisateur a demandé que les messages du type type ne soient plus affichés, cette fonction ne fait rien.

Normalement, le message est affiché immédiatement. Cependant, s'il y a des messages en attente, il sera mis en file d'attente pour être affiché plus tard.

Note : Ce slot est surchargé. Pour se connecter à ce slot :

// 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); });
Pour plus d'exemples et d'approches, voir Connexion aux slots surchargés.

Voir aussi 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.