Sur cette page

QErrorMessage Class

La classe QErrorMessage permet d'afficher une boîte de dialogue contenant un message d'erreur. En savoir plus...

En-tête : #include <QErrorMessage>
CMake : find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake : QT += widgets
Hérite de : 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 choisir si le même message d’erreur s’affichera à nouveau à l’avenir ; elle affiche généralement le texte « Afficher à nouveau ce message », traduit dans la langue locale appropriée.

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

La fonction statique ` qtHandler()` installe un gestionnaire de messages à l’aide de ` qInstallMessageHandler()` et crée un objet `QErrorMessage` qui affiche les messages ` qDebug()`, ` qWarning()` et ` qFatal()`. Cela s’avère 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` mettra les messages en attente dans une file d’attente et les affichera dans l’ordre, chaque nouveau message étant affiché dès que l’utilisateur aura accepté le message précédent. Une fois que l’utilisateur a indiqué qu’un message ne doit plus être affiché, celui-ci est automatiquement ignoré, et la boîte de dialogue affichera le message suivant approprié dans la file d’attente.

L'exemple « Standard Dialogs » montre comment utiliser QErrorMessage ainsi que d'autres boîtes de dialogue intégrées à Qt.

Boîte de dialogue affichant un message d'erreur lié au réseau

Voir également QMessageBox, QStatusBar::showMessage() et l’exemple « Standard Dialogs ».

Documentation des fonctions membres

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

Crée et affiche une fenêtre de gestion des erreurs avec l'parent spécifiée.

L'window modality par défaut de la boîte de dialogue dépend de la plateforme. La modalité de la fenêtre peut être redéfinie via ` setWindowModality()` avant d'appeler ` showMessage()`.

[virtual noexcept] QErrorMessage::~QErrorMessage()

Ferme la boîte de dialogue contenant le 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 affiche 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 journalisation 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 indiqué, message, puis se termine immédiatement. Si l'utilisateur a demandé que ce message ne s'affiche plus, cette fonction ne fait rien.

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

Remarque : ce slot est surchargé. Pour vous 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, consultez la section « Connexion à des slots surchargés ».

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

Affiche le message indiqué, message, puis se termine immédiatement. Si l'utilisateur a demandé que les messages de type type ne soient plus affichés, cette fonction ne fait rien.

Normalement, le message s'affiche immédiatement. Cependant, s'il y a des messages en attente, celui-ci sera mis en file d'attente pour être affiché ultérieurement.

Remarque : ce slot est surchargé. Pour vous 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 la section « Connexion aux slots surchargés ».

Voir également ` 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.