Auf dieser Seite

QErrorMessage Class

Die Klasse „QErrorMessage“ stellt einen Dialog zur Anzeige von Fehlermeldungen bereit. Mehr dazu...

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

Öffentliche Funktionen

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

Öffentliche Slots

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

Statische öffentliche Mitglieder

QErrorMessage *qtHandler()

Neu implementierte geschützte Funktionen

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

Ausführliche Beschreibung

Ein Fehlermeldungs-Widget besteht aus einer Textbeschriftung und einem Kontrollkästchen. Über das Kontrollkästchen kann der Benutzer festlegen, ob dieselbe Fehlermeldung in Zukunft erneut angezeigt werden soll; dabei wird in der Regel der Text „Diese Meldung erneut anzeigen“ in die entsprechende Landessprache übersetzt.

In Produktionsanwendungen kann die Klasse verwendet werden, um Meldungen anzuzeigen, die der Benutzer nur einmal sehen muss. Um QErrorMessage auf diese Weise zu nutzen, erstellen Sie den Dialog wie gewohnt und zeigen ihn an, indem Sie den Slot ` showMessage()` aufrufen oder Signale daran anschließen.

Die statische Funktion ` qtHandler()` installiert einen Meldungshandler mithilfe von ` qInstallMessageHandler()` und erstellt ein `QErrorMessage`-Objekt, das die Meldungen ` qDebug()`, ` qWarning()` und ` qFatal()` anzeigt. Dies ist besonders nützlich in Umgebungen, in denen keine Konsole zur Anzeige von Warnungen und Fehlermeldungen verfügbar ist.

In beiden Fällen stellt QErrorMessage anstehende Meldungen in eine Warteschlange und zeigt sie der Reihe nach an, wobei jede neue Meldung angezeigt wird, sobald der Benutzer die vorherige Meldung akzeptiert hat. Sobald der Benutzer festgelegt hat, dass eine Meldung nicht erneut angezeigt werden soll, wird sie automatisch übersprungen, und der Dialog zeigt die nächste entsprechende Meldung in der Warteschlange an.

Das Beispiel „Standarddialoge“ zeigt, wie man QErrorMessage sowie andere integrierte Qt-Dialoge verwendet.

Dialogfeld mit einer netzwerkbezogenen Fehlermeldung

Siehe auch „ QMessageBox“ , „ QStatusBar::showMessage()“ und das Beispiel „Standarddialoge“.

Dokumentation der Member-Funktionen

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

Erstellt und zeigt ein Fehlerbehandlungsfenster mit dem angegebenen parent an.

Die Standard- window modality des Dialogfensters hängt von der Plattform ab. Die Modalität des Fensters kann vor dem Aufruf von ` showMessage()` über ` setWindowModality()` überschrieben werden.

[virtual noexcept] QErrorMessage::~QErrorMessage()

Schließt das Dialogfeld mit der Fehlermeldung.

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

Umsetzt: ` QWidget::changeEvent(QEvent *event)`.

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

Implementiert erneut: QDialog::done(int r).

[static] QErrorMessage *QErrorMessage::qtHandler()

Gibt einen Zeiger auf ein ` QErrorMessage `-Objekt zurück, das die Standardmeldungen von Qt ausgibt. Diese Funktion erstellt ein solches Objekt, falls noch keines vorhanden ist.

Das Objekt gibt ausschließlich Protokollmeldungen von ` QLoggingCategory::defaultCategory()` aus.

Das Objekt leitet alle Meldungen an den ursprünglichen Meldungshandler weiter.

Siehe auch „ qInstallMessageHandler “.

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

Zeigt die angegebene Meldung „ message “ an und kehrt sofort zurück. Wenn der Benutzer festgelegt hat, dass die Meldung nicht erneut angezeigt werden soll, führt diese Funktion keine Aktion aus.

Normalerweise wird die Meldung sofort angezeigt. Wenn jedoch noch ausstehende Meldungen vorhanden sind, wird sie in die Warteschlange gestellt, um später angezeigt zu werden.

Hinweis: Dieser Slot ist überladen. So stellen Sie eine Verbindung zu diesem Slot her:

// 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); });
Weitere Beispiele und Vorgehensweisen finden Sie unter „Verbindung zu überladenen Slots herstellen“.

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

Zeigt die angegebene Meldung „ message “ an und kehrt sofort zurück. Wenn der Benutzer festgelegt hat, dass Meldungen vom Typ „ type “ nicht erneut angezeigt werden sollen, führt diese Funktion keine Aktion aus.

Normalerweise wird die Meldung sofort angezeigt. Wenn jedoch noch ausstehende Meldungen vorhanden sind, wird sie in die Warteschlange gestellt, um später angezeigt zu werden.

Hinweis: Dieser Slot ist überladen. So stellen Sie eine Verbindung zu diesem Slot her:

// 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); });
Weitere Beispiele und Vorgehensweisen finden Sie unter „An überladene Slots anbinden“.

Siehe auch ` 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.