Auf dieser Seite

QMessageBox Class

Die Klasse „QMessageBox“ stellt ein modales Dialogfeld bereit, um den Benutzer zu informieren oder ihm eine Frage zu stellen und eine Antwort zu erhalten. Mehr...

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

Öffentliche Typen

enum ButtonRole { InvalidRole, AcceptRole, RejectRole, DestructiveRole, ActionRole, …, ResetRole }
enum Icon { NoIcon, Question, Information, Warning, Critical }
(since 6.6) enum class Option { DontUseNativeDialog }
flags Options
enum StandardButton { Ok, Open, Save, Cancel, Close, …, ButtonMask }
flags StandardButtons

Eigenschaften

Öffentliche Funktionen

QMessageBox(QWidget *parent = nullptr)
QMessageBox(QMessageBox::Icon icon, const QString &title, const QString &text, QMessageBox::StandardButtons buttons = NoButton, QWidget *parent = nullptr, Qt::WindowFlags f = Qt::Dialog | Qt::MSWindowsFixedSizeDialogHint)
virtual ~QMessageBox()
void addButton(QAbstractButton *button, QMessageBox::ButtonRole role)
QPushButton *addButton(QMessageBox::StandardButton button)
QPushButton *addButton(const QString &text, QMessageBox::ButtonRole role)
QAbstractButton *button(QMessageBox::StandardButton which) const
QMessageBox::ButtonRole buttonRole(QAbstractButton *button) const
QList<QAbstractButton *> buttons() const
QCheckBox *checkBox() const
QAbstractButton *clickedButton() const
QPushButton *defaultButton() const
QString detailedText() const
QAbstractButton *escapeButton() const
QMessageBox::Icon icon() const
QPixmap iconPixmap() const
QString informativeText() const
void open(QObject *receiver, const char *member)
QMessageBox::Options options() const
void removeButton(QAbstractButton *button)
void setCheckBox(QCheckBox *cb)
void setDefaultButton(QMessageBox::StandardButton button)
void setDefaultButton(QPushButton *button)
void setDetailedText(const QString &text)
void setEscapeButton(QAbstractButton *button)
void setEscapeButton(QMessageBox::StandardButton button)
void setIcon(QMessageBox::Icon)
void setIconPixmap(const QPixmap &pixmap)
void setInformativeText(const QString &text)
(since 6.6) void setOption(QMessageBox::Option option, bool on = true)
void setOptions(QMessageBox::Options options)
void setStandardButtons(QMessageBox::StandardButtons buttons)
void setText(const QString &text)
void setTextFormat(Qt::TextFormat format)
void setTextInteractionFlags(Qt::TextInteractionFlags flags)
void setWindowModality(Qt::WindowModality windowModality)
void setWindowTitle(const QString &title)
QMessageBox::StandardButton standardButton(QAbstractButton *button) const
QMessageBox::StandardButtons standardButtons() const
(since 6.6) bool testOption(QMessageBox::Option option) const
QString text() const
Qt::TextFormat textFormat() const
Qt::TextInteractionFlags textInteractionFlags() const

Öffentliche Slots

virtual int exec() override

Signale

void buttonClicked(QAbstractButton *button)

Statische öffentliche Mitglieder

void about(QWidget *parent, const QString &title, const QString &text)
void aboutQt(QWidget *parent, const QString &title = QString())
QMessageBox::StandardButton critical(QWidget *parent, const QString &title, const QString &text, QMessageBox::StandardButtons buttons = Ok, QMessageBox::StandardButton defaultButton = NoButton)
QMessageBox::StandardButton information(QWidget *parent, const QString &title, const QString &text, QMessageBox::StandardButtons buttons = Ok, QMessageBox::StandardButton defaultButton = NoButton)
QMessageBox::StandardButton question(QWidget *parent, const QString &title, const QString &text, QMessageBox::StandardButtons buttons = StandardButtons(Yes | No), QMessageBox::StandardButton defaultButton = NoButton)
QMessageBox::StandardButton warning(QWidget *parent, const QString &title, const QString &text, QMessageBox::StandardButtons buttons = Ok, QMessageBox::StandardButton defaultButton = NoButton)

Neu implementierte geschützte Funktionen

virtual void changeEvent(QEvent *ev) override
virtual void closeEvent(QCloseEvent *e) override
virtual bool event(QEvent *e) override
virtual void keyPressEvent(QKeyEvent *e) override
virtual void resizeEvent(QResizeEvent *event) override
virtual void showEvent(QShowEvent *e) override

Makros

QT_REQUIRE_VERSION(int argc, char **argv, const char *version)

Detaillierte Beschreibung

Ein Meldungsfeld zeigt eine primäre Meldung ( text ) an, um den Benutzer auf eine Situation aufmerksam zu machen, eine Zusatzmeldung ( informative text ), um die Situation näher zu erläutern, sowie eine optionale Meldung ( detailed text ), um auf Wunsch des Benutzers noch weitere Daten bereitzustellen.

Ein Meldungsfeld kann außerdem ein „ icon “ und ein „ standard buttons “ anzeigen, um eine Benutzerantwort entgegenzunehmen.

Der Parameter „parent“ ist zwar optional, seine Angabe gibt dem Fenstermanager jedoch einen Hinweis, sodass dieser die Positionierung übernehmen und eine korrekte Stapelreihenfolge des Dialogfensters gewährleisten kann.

Für die Verwendung von QMessageBox stehen zwei APIs zur Verfügung: die eigenschaftsbasierte API und die statischen Funktionen. Der Aufruf einer der statischen Funktionen ist der einfachere Ansatz, jedoch weniger flexibel als die Verwendung der eigenschaftsbasierten API, und das Ergebnis ist weniger aussagekräftig. Die Verwendung der eigenschaftsbasierten API wird empfohlen.

Die eigenschaftsbasierte API

Um die eigenschaftsbasierte API zu verwenden, erstellen Sie eine Instanz von `QMessageBox`, legen Sie die gewünschten Eigenschaften fest und rufen Sie ` exec()` auf, um die Meldung anzuzeigen. Die einfachste Konfiguration besteht darin, nur die Eigenschaft ` message text ` festzulegen.

QMessageBox msgBox(this);
msgBox.setText("The document has been modified.");
msgBox.exec();

Der Benutzer muss auf die Schaltfläche „ OK “ klicken, um das Meldungsfeld zu schließen. Der Rest der Benutzeroberfläche wird gesperrt, bis das Meldungsfeld geschlossen wird.

Meldungsfeld mit einer einfachen Meldung und einer „OK“-Schaltfläche

Ein besserer Ansatz als den Benutzer lediglich auf ein Ereignis hinzuweisen, besteht darin, ihn auch zu fragen, wie darauf reagiert werden soll.

Setzen Sie die Eigenschaft „ standard buttons “ auf die Schaltflächen, die Sie als Antwortmöglichkeiten für den Benutzer wünschen. Die Schaltflächen werden durch die Kombination von Werten aus „ StandardButtons “ mithilfe des bitweisen ODER-Operators festgelegt. Die Anzeigereihenfolge der Schaltflächen ist plattformabhängig. Unter Windows wird beispielsweise „ Save “ links von „ Cancel “ angezeigt, während unter macOS die Reihenfolge umgekehrt ist. Markieren Sie eine Ihrer Standardschaltflächen als „ default button “.

Die Eigenschaft „ informative text “ kann verwendet werden, um zusätzliche Kontextinformationen hinzuzufügen, die dem Benutzer bei der Auswahl der geeigneten Aktion helfen.

QMessageBox msgBox(this);
msgBox.setText("The document has been modified.");
msgBox.setInformativeText("Do you want to save your changes?");
msgBox.setStandardButtons(QMessageBox::Save | QMessageBox::Discard | QMessageBox::Cancel);
msgBox.setDefaultButton(QMessageBox::Save);
int ret = msgBox.exec();

Meldungsfeld mit den Schaltflächen „Speichern“, „Nicht speichern“ und „Abbrechen“

Der Slot „ exec()“ gibt den Wert „ StandardButtons “ der angeklickten Schaltfläche zurück.

switch (ret) {
    case QMessageBox::Save:
        // Save was clicked
        break;
    case QMessageBox::Discard:
        // Don't Save was clicked
        break;
    case QMessageBox::Cancel:
        // Cancel was clicked
        break;
    default:
        // should never be reached
        break;
}

Um dem Benutzer mehr Informationen zur Auswahl der passenden Aktion zu geben, legen Sie die Eigenschaft „ detailed text “ fest. Je nach Plattform muss der Benutzer möglicherweise auf die Schaltfläche „ Show Details... “ klicken, damit der „ detailed text “ angezeigt wird.

Dialogfeld „Speichern“ mit einer Schaltfläche „Details anzeigen...“

Durch Klicken auf die Schaltfläche „ Show Details... “ wird der detaillierte Text angezeigt.

Dialogfeld „Speichern“ mit dem detaillierten Text

Rich Text und die Eigenschaft „Text Format“

Die Eigenschaft „ detailed text “ wird immer als einfacher Text interpretiert. Die Eigenschaften „ main text “ und „ informative text “ können entweder einfacher Text oder Rich Text sein. Diese Zeichenfolgen werden entsprechend der Einstellung der Eigenschaft „ text format “ interpretiert. Die Standardeinstellung lautet „ auto-text “.

Beachten Sie, dass bei einigen Klartext-Zeichenfolgen, die XML-Metazeichen enthalten, die automatische Text rich text detection test ierung fehlschlagen kann, was dazu führt, dass Ihre Klartext-Zeichenfolge fälschlicherweise als Rich-Text interpretiert wird. Verwenden Sie in diesen seltenen Fällen Qt::convertFromPlainText(), um Ihre Klartext-Zeichenfolge in eine optisch gleichwertige Rich-Text-Zeichenfolge zu konvertieren, oder setzen Sie die Eigenschaft text format explizit mit setTextFormat().

Schweregrade und die Eigenschaften „Icon“ und „Pixmap“

QMessageBox unterstützt vier vordefinierte Schweregrade oder Meldungstypen, die sich im Wesentlichen nur durch das jeweils angezeigte vordefinierte Symbol unterscheiden. Legen Sie einen der vier vordefinierten Meldungstypen fest, indem Sie die Eigenschaft „ icon “ auf einen der Werte „ predefined icons “ setzen. Die folgenden Regeln dienen als Richtlinie:

Fragezeichen-Symbol

QuestionZum Stellen einer Frage während des normalen Betriebs.

Informationssymbol

InformationZur Bereitstellung von Informationen über den normalen Betrieb.

Warnsymbol

WarningZur Meldung nicht kritischer Fehler.

Symbol für ein kritisches Problem

CriticalZur Meldung kritischer Fehler.

Predefined icons werden nicht von `QMessageBox` definiert, sondern durch den Stil bereitgestellt. Der Standardwert ist „ No Icon “. Ansonsten sind die Meldungsfelder in allen Fällen identisch. Wenn Sie ein Standardsymbol verwenden, nutzen Sie das in der Tabelle empfohlene Symbol oder das in den Stilrichtlinien für Ihre Plattform empfohlene Symbol. Falls keines der Standardsymbole für Ihr Meldungsfeld geeignet ist, können Sie ein benutzerdefiniertes Symbol verwenden, indem Sie die Eigenschaft „ icon pixmap “ anstelle der Eigenschaft „ icon “ festlegen.

Zusammenfassend lässt sich sagen: Um ein Symbol festzulegen, verwenden Sie entweder ` setIcon()` für eines der Standardsymbole oder ` setIconPixmap()` für ein benutzerdefiniertes Symbol.

Die API für statische Funktionen

Das Erstellen von Meldungsfeldern mit der API für statische Funktionen ist zwar bequem, aber weniger flexibel als die Verwendung der eigenschaftsbasierten API, da den Signaturen der statischen Funktionen Parameter zum Festlegen der Eigenschaften „ informative text “ und „ detailed text “ fehlen. Eine Umgehungslösung hierfür bestand darin, den Parameter „ title “ als Haupttext des Meldungsfelds und den Parameter „ text “ als informativen Text des Meldungsfelds zu verwenden. Da dies den offensichtlichen Nachteil hat, dass die Meldung dadurch weniger gut lesbar wird, wird dies in den Plattformrichtlinien nicht empfohlen. Die Microsoft Windows User Interface Guidelines empfehlen, den Parameter „ application name “ als „ window's title “ zu verwenden. Das bedeutet: Wenn Sie zusätzlich zum Haupttext einen informativen Text haben, müssen Sie diesen an den Parameter „ text “ anhängen.

Beachten Sie, dass sich die Signaturen der statischen Funktionen hinsichtlich ihrer Schaltflächenparameter geändert haben; diese werden nun zum Festlegen von „ standard buttons “ und „ default button “ verwendet.

Es stehen statische Funktionen zum Erstellen der Meldungsfelder „ information()“, „ question()“, „ warning()“ und „ critical()“ zur Verfügung.

int ret = QMessageBox::warning(this, tr("My Application"),
                               tr("The document has been modified.\n"
                                  "Do you want to save your changes?"),
                               QMessageBox::Save | QMessageBox::Discard
                               | QMessageBox::Cancel,
                               QMessageBox::Save);

Das Beispiel „Standarddialoge“ zeigt, wie man QMessageBox und die anderen integrierten Qt-Dialoge verwendet.

Erweiterte Verwendung

Wenn die standard buttons für Ihre Meldungsbox nicht flexibel genug sind, können Sie die Überladung von addButton() verwenden, die einen Text und ein ButtonRole akzeptiert, um benutzerdefinierte Schaltflächen hinzuzufügen. Das ButtonRole wird von QMessageBox verwendet, um die Reihenfolge der Schaltflächen auf dem Bildschirm zu bestimmen (die je nach Plattform variiert). Sie können den Wert von clickedButton() nach dem Aufruf von exec() testen. Zum Beispiel:

QMessageBox msgBox(this);
QPushButton *connectButton = msgBox.addButton(tr("Connect"), QMessageBox::ActionRole);
QPushButton *abortButton = msgBox.addButton(QMessageBox::Abort);

msgBox.exec();

if (msgBox.clickedButton() == connectButton) {
    // connect
} else if (msgBox.clickedButton() == abortButton) {
    // abort
}

Standard- und Escape-Tasten

Die Standardschaltfläche (d. h. die Schaltfläche, die beim Drücken der Taste „ Enter “ aktiviert wird) kann mit ` setDefaultButton()` festgelegt werden. Wenn keine Standardschaltfläche angegeben wird, versucht `QMessageBox`, anhand der ` button roles ` der im Meldungsfeld verwendeten Schaltflächen eine zu ermitteln.

Die Escape-Schaltfläche (die Schaltfläche, die beim Drücken von ` Esc ` aktiviert wird) kann mit ` setEscapeButton()` festgelegt werden. Wenn keine Escape-Schaltfläche festgelegt ist, versucht `QMessageBox`, anhand der folgenden Regeln eine zu ermitteln:

  1. Wenn nur eine Schaltfläche vorhanden ist, handelt es sich um die Schaltfläche, die beim Drücken von „ Esc “ aktiviert wird.
  2. Wenn es eine Schaltfläche „ Cancel “ gibt, ist dies die Schaltfläche, die beim Drücken von „ Esc “ aktiviert wird.
  3. Gibt es genau eine Schaltfläche, die entweder die Aufschrift „ the Reject role “ oder „ the No role “ trägt, ist dies die Schaltfläche, die beim Drücken von „ Esc “ aktiviert wird.

Wenn sich anhand dieser Regeln keine Escape-Schaltfläche bestimmen lässt, hat das Drücken von „ Esc “ keine Auswirkung.

Siehe auch „ QDialogButtonBox “ und „Beispiel für Standarddialoge“.

Dokumentation zum Mitgliedstyp

enum QMessageBox::ButtonRole

Diese Enumeration beschreibt die Rollen, mit denen Schaltflächen in der Schaltflächenleiste beschrieben werden können. Kombinationen dieser Rollen dienen als Kennzeichen, um verschiedene Aspekte ihres Verhaltens zu beschreiben.

KonstanteWertBeschreibung
QMessageBox::InvalidRole-1Die Schaltfläche ist ungültig.
QMessageBox::AcceptRole0Ein Klick auf die Schaltfläche führt zur Bestätigung des Dialogs (z. B. „OK“).
QMessageBox::RejectRole1Ein Klick auf die Schaltfläche führt zur Ablehnung des Dialogs (z. B. „Abbrechen“).
QMessageBox::DestructiveRole2Ein Klick auf die Schaltfläche führt zu einer irreversiblen Änderung (z. B. bei „Änderungen verwerfen“) und schließt den Dialog.
QMessageBox::ActionRole3Ein Klick auf die Schaltfläche bewirkt Änderungen an den Elementen innerhalb des Dialogfelds.
QMessageBox::HelpRole4Durch Klicken auf die Schaltfläche kann Hilfe angefordert werden.
QMessageBox::YesRole5Die Schaltfläche ist eine „Ja“-ähnliche Schaltfläche.
QMessageBox::NoRole6Die Schaltfläche ist eine „Nein“-ähnliche Schaltfläche.
QMessageBox::ApplyRole8Die Schaltfläche übernimmt die aktuellen Änderungen.
QMessageBox::ResetRole7Die Schaltfläche setzt die Felder des Dialogfelds auf die Standardwerte zurück.

Siehe auch StandardButton.

enum QMessageBox::Icon

Diese Enumeration hat die folgenden Werte:

KonstanteWertBeschreibung
QMessageBox::NoIcon0Das Meldungsfeld hat kein Symbol.
QMessageBox::Question4Ein Symbol, das anzeigt, dass die Meldung eine Frage stellt.
QMessageBox::Information1Ein Symbol, das anzeigt, dass die Meldung nichts Außergewöhnliches ist.
QMessageBox::Warning2Ein Symbol, das anzeigt, dass es sich bei der Meldung um eine Warnung handelt, die jedoch behoben werden kann.
QMessageBox::Critical3Ein Symbol, das anzeigt, dass die Meldung ein kritisches Problem darstellt.

[since 6.6] enum class QMessageBox::Option
flags QMessageBox::Options

KonstanteWertBeschreibung
QMessageBox::Option::DontUseNativeDialog0x00000001Verwenden Sie nicht den nativen Meldungsdialog.

Diese Enumeration wurde in Qt 6.6 eingeführt.

Der Typ „Options“ ist ein typedef für „QFlags<Option>“. Er speichert eine ODER-Kombination von „Option“-Werten.

enum QMessageBox::StandardButton
flags QMessageBox::StandardButtons

Diese Enums beschreiben Flags für Standardschaltflächen. Für jede Schaltfläche ist ein „ ButtonRole “ definiert.

KonstanteWertBeschreibung
QMessageBox::Ok0x00000400Eine „OK“-Schaltfläche, die mit dem AcceptRole definiert ist.
QMessageBox::Open0x00002000Eine „Öffnen“-Schaltfläche, definiert mit der AcceptRole.
QMessageBox::Save0x00000800Eine Schaltfläche „Speichern“, definiert mit dem Befehl „ AcceptRole “.
QMessageBox::Cancel0x00400000Eine „Abbrechen“-Schaltfläche, definiert mit dem RejectRole.
QMessageBox::Close0x00200000Eine Schaltfläche „Schließen“, definiert mit dem RejectRole.
QMessageBox::Discard0x00800000Eine Schaltfläche „Verwerfen“ oder „Nicht speichern“ (je nach Plattform), definiert mit dem DestructiveRole.
QMessageBox::Apply0x02000000Eine Schaltfläche „Übernehmen“, definiert mit dem ` ApplyRole`.
QMessageBox::Reset0x04000000Eine Schaltfläche „Zurücksetzen“, definiert mit dem Befehl ` ResetRole`.
QMessageBox::RestoreDefaults0x08000000Eine Schaltfläche „Standardeinstellungen wiederherstellen“, definiert mit dem Befehl ` ResetRole`.
QMessageBox::Help0x01000000Eine Schaltfläche „Hilfe“, definiert mit dem „ HelpRole “.
QMessageBox::SaveAll0x00001000Eine Schaltfläche „Alle speichern“, definiert mit dem „ AcceptRole “.
QMessageBox::Yes0x00004000Eine Schaltfläche „Ja“, definiert mit dem „ YesRole “.
QMessageBox::YesToAll0x00008000Eine Schaltfläche „Ja zu allen“, definiert mit dem YesRole.
QMessageBox::No0x00010000Eine Schaltfläche „Nein“, definiert mit dem NoRole.
QMessageBox::NoToAll0x00020000Eine Schaltfläche „Nein zu allen“, definiert mit dem Attribut „ NoRole “.
QMessageBox::Abort0x00040000Eine Schaltfläche „Abbrechen“, definiert mit dem Befehl „ RejectRole “.
QMessageBox::Retry0x00080000Eine Schaltfläche „Erneut versuchen“, definiert mit dem AcceptRole.
QMessageBox::Ignore0x00100000Eine Schaltfläche „Ignorieren“, definiert mit der Funktion ` AcceptRole`.
QMessageBox::NoButton0x00000000Eine ungültige Schaltfläche.

Die folgenden Werte sind veraltet:

KonstanteWertBeschreibung
QMessageBox::YesAllYesToAllVerwenden Sie stattdessen „YesToAll“.
QMessageBox::NoAllNoToAllVerwenden Sie stattdessen „NoToAll“.
QMessageBox::Default0x00000100Verwenden Sie stattdessen das Argument „ defaultButton “ von „ information()“, „ warning()“ usw. oder rufen Sie „ setDefaultButton()“ auf.
QMessageBox::Escape0x00000200Rufen Sie stattdessen „ setEscapeButton()“ auf.
QMessageBox::FlagMask0x00000300 
QMessageBox::ButtonMask~FlagMask 

Der Typ `StandardButtons` ist ein `typedef` für ` QFlags<StandardButton>`. Er speichert eine ODER-Kombination von `StandardButton`-Werten.

Siehe auch ButtonRole und standardButtons.

Dokumentation zu den Eigenschaften

detailedText : QString

Diese Eigenschaft enthält den Text, der im Detailbereich angezeigt werden soll.

Der Text wird als Klartext interpretiert.

Standardmäßig enthält diese Eigenschaft eine leere Zeichenkette.

Zugriffsfunktionen:

QString detailedText() const
void setDetailedText(const QString &text)

Siehe auch QMessageBox::text und QMessageBox::informativeText.

icon : Icon

Diese Eigenschaft enthält das Symbol des Meldungsfelds

Das Symbol des Meldungsfelds kann mit einem der folgenden Werte festgelegt werden:

Der Standardwert ist „ QMessageBox::NoIcon “.

Die zur Anzeige des eigentlichen Symbols verwendete Pixmap hängt von der aktuellen „ GUI style “-Einstellung ab. Sie können auch eine benutzerdefinierte Pixmap für das Symbol festlegen, indem Sie die Eigenschaft „ icon pixmap “ entsprechend einstellen.

Zugriffsfunktionen:

QMessageBox::Icon icon() const
void setIcon(QMessageBox::Icon)

Siehe auch „ iconPixmap “.

iconPixmap : QPixmap

Diese Eigenschaft enthält das aktuelle Symbol

Das Symbol, das derzeit vom Meldungsfeld verwendet wird. Beachten Sie, dass es oft schwierig ist, eine einzige Pixmap zu erstellen, die in allen GUI-Stilen angemessen aussieht; möglicherweise möchten Sie für jede Plattform eine eigene Pixmap bereitstellen.

Standardmäßig ist diese Eigenschaft nicht definiert.

Zugriffsfunktionen:

QPixmap iconPixmap() const
void setIconPixmap(const QPixmap &pixmap)

Siehe auch „ icon “.

informativeText : QString

Diese Eigenschaft enthält den informativen Text, der eine ausführlichere Beschreibung der Meldung liefert

Der Informationstext kann verwendet werden, um die „ text “ () zu ergänzen und dem Benutzer weitere Informationen zu geben, beispielsweise zur Beschreibung der Folgen der Situation oder zum Vorschlag alternativer Lösungen.

Der Text wird je nach der Einstellung für das Textformat (QMessageBox::textFormat) entweder als Klartext oder als Rich-Text interpretiert. Die Standardeinstellung ist „ Qt::AutoText “, d. h., das Meldungsfeld versucht, das Format des Textes automatisch zu erkennen.

Standardmäßig enthält diese Eigenschaft eine leere Zeichenkette.

Zugriffsfunktionen:

QString informativeText() const
void setInformativeText(const QString &text)

Siehe auch „ textFormat “, „ QMessageBox::text “ und „ QMessageBox::detailedText “.

[since 6.6] options : Options

Optionen, die das Erscheinungsbild des Dialogfelds beeinflussen.

Standardmäßig sind diese Optionen deaktiviert.

Die Option „ Option::DontUseNativeDialog “ sollte gesetzt werden, bevor die Eigenschaften des Dialogfelds geändert oder das Dialogfeld angezeigt wird.

Es ist nicht garantiert, dass das Festlegen von Optionen, während der Dialog angezeigt wird, sofort Auswirkungen auf den Dialog hat.

Das Festlegen von Optionen nach dem Ändern anderer Eigenschaften kann dazu führen, dass diese Werte keine Wirkung zeigen.

Diese Aufzählung wurde in Qt 6.6 eingeführt.

Zugriffsfunktionen:

QMessageBox::Options options() const
void setOptions(QMessageBox::Options options)

Siehe auch „ setOption()“ und „ testOption()“.

standardButtons : StandardButtons

Sammlung von Standardschaltflächen im Meldungsfeld

Diese Eigenschaft legt fest, welche Standardschaltflächen im Meldungsfeld verwendet werden.

Standardmäßig enthält diese Eigenschaft keine Standardschaltflächen.

Zugriffsfunktionen:

QMessageBox::StandardButtons standardButtons() const
void setStandardButtons(QMessageBox::StandardButtons buttons)

Siehe auch „ addButton()“.

text : QString

Diese Eigenschaft enthält den Text der anzuzeigenden Meldung.

Der Text sollte ein kurzer Satz oder eine kurze Formulierung sein, die die Situation beschreibt, idealerweise als neutrale Aussage oder als Frage mit Handlungsaufforderung formuliert.

Der Text wird je nach Einstellung des Textformats (QMessageBox::textFormat) entweder als Klartext oder als Rich-Text interpretiert. Die Standardeinstellung ist „ Qt::AutoText “, d. h., das Meldungsfeld versucht, das Format des Textes automatisch zu erkennen.

Der Standardwert dieser Eigenschaft ist eine leere Zeichenfolge.

Zugriffsfunktionen:

QString text() const
void setText(const QString &text)

Siehe auch „ textFormat “, „ QMessageBox::informativeText “ und „ QMessageBox::detailedText “.

textFormat : Qt::TextFormat

Diese Eigenschaft enthält das Format des in der Meldungsbox angezeigten Texts

Das derzeit vom Meldungsfeld verwendete Textformat. Eine Erläuterung der möglichen Optionen finden Sie in der Aufzählung „ Qt::TextFormat “.

Das Standardformat ist „ Qt::AutoText “.

Zugriffsfunktionen:

Qt::TextFormat textFormat() const
void setTextFormat(Qt::TextFormat format)

Siehe auch „ setText()“.

textInteractionFlags : Qt::TextInteractionFlags

Legt fest, wie die Beschriftung des Meldungsfensters auf Benutzereingaben reagieren soll.

Der Standardwert hängt vom Stil ab.

Zugriffsfunktionen:

Qt::TextInteractionFlags textInteractionFlags() const
void setTextInteractionFlags(Qt::TextInteractionFlags flags)

Siehe auch „ QStyle::SH_MessageBox_TextInteractionFlags “.

Dokumentation zu den Member-Funktionen

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

Erstellt ein „ application modal “-Meldungsfenster ohne Text und ohne Schaltflächen. „ parent “ wird an den Konstruktor von „ QDialog “ übergeben.

Die Fenstermodalität kann vor dem Aufruf von ` show()` über ` setWindowModality()` überschrieben werden.

Hinweis: Die Verwendung von ` open()` oder ` exec()` zum Anzeigen des Meldungsfelds wirkt sich auf die Modalität des Fensters aus. Weitere Informationen finden Sie in der detaillierten Dokumentation zu den jeweiligen Funktionen.

Wenn Sie unter macOS möchten, dass Ihr Meldungsfeld als „ Qt::Sheet “ des zugehörigen „ parent “ angezeigt wird, setzen Sie die Eigenschaft „ window modality “ des Meldungsfelds auf „ Qt::WindowModal “ oder verwenden Sie „ open()“. Andernfalls wird das Meldungsfeld als Standarddialogfeld angezeigt.

Siehe auch „ setWindowTitle()“, „ setText()“, „ setIcon()“, „ setStandardButtons()“ und „ setWindowModality()“.

QMessageBox::QMessageBox(QMessageBox::Icon icon, const QString &title, const QString &text, QMessageBox::StandardButtons buttons = NoButton, QWidget *parent = nullptr, Qt::WindowFlags f = Qt::Dialog | Qt::MSWindowsFixedSizeDialogHint)

Erstellt ein Meldungsfenster vom Typ „ application modal “ mit den angegebenen Argumenten „ icon “, „ title “, „ text “ und dem Standardargument „ buttons “. Standard- oder benutzerdefinierte Schaltflächen können jederzeit mithilfe von „ addButton()“ hinzugefügt werden. Die Argumente „ parent “ und „ f “ werden an den Konstruktor von „ QDialog “ übergeben.

Die Fenstermodalität kann vor dem Aufruf von ` show()` über ` setWindowModality()` überschrieben werden.

Hinweis: Die Verwendung von ` open()` oder ` exec()` zum Anzeigen des Meldungsfelds wirkt sich auf die Fenstermodalität aus. Weitere Informationen finden Sie in der ausführlichen Dokumentation zu den jeweiligen Funktionen.

Wenn unter macOS ` parent ` nicht ` nullptr ` ist und Sie möchten, dass Ihr Meldungsfeld als „ Qt::Sheet “ dieses übergeordneten Fensters erscheint, setzen Sie die Eigenschaft ` window modality ` des Meldungsfelds auf ` Qt::WindowModal ` (Standard). Andernfalls wird das Meldungsfeld als Standarddialog angezeigt.

Siehe auch „ setWindowTitle()“, „ setText()“, „ setIcon()“, „ setStandardButtons()“ und „ setWindowModality()“.

[virtual noexcept] QMessageBox::~QMessageBox()

Löst das Meldungsfeld auf.

[static] void QMessageBox::about(QWidget *parent, const QString &title, const QString &text)

Zeigt ein einfaches „Über“-Fenster mit dem Titel „ title “ und dem Text „ text “ an. Das übergeordnete Element des „Über“-Fensters ist „ parent “.

about() sucht an vier Stellen nach einem passenden Symbol:

  1. Es bevorzugt „ parent->icon()“, sofern dieses vorhanden ist.
  2. Ist dies nicht der Fall, versucht es es mit dem Widget der obersten Ebene, das „ parent “ enthält.
  3. Schlägt dies fehl, versucht es das active window.
  4. Als letzte Möglichkeit wird das Informationssymbol verwendet.

Das „Über“-Fenster enthält eine einzige Schaltfläche mit der Beschriftung „OK“.

Unter macOS wird das „Über“-Fenster als modales Fenster angezeigt; auf anderen Plattformen ist es derzeit an die Anwendung gebunden.

Siehe auch „ QWidget::windowIcon()“ und „ QApplication::activeWindow()“.

[static] void QMessageBox::aboutQt(QWidget *parent, const QString &title = QString())

Zeigt ein einfaches Meldungsfeld zu Qt an, mit dem angegebenen title und zentriert über parent (sofern parent nicht nullptr ist). Die Meldung enthält die Versionsnummer von Qt, die von der Anwendung verwendet wird.

Dies ist nützlich für die Einbindung in das Menü „ Help “ einer Anwendung, wie im Beispiel „Menüs“ gezeigt.

QApplication bietet diese Funktionalität als Slot an.

Unter macOS wird das „aboutQt“-Fenster als modales Fenster angezeigt; auf anderen Plattformen ist es derzeit an die Anwendung gebunden.

Siehe auch ` QApplication::aboutQt()` ().

void QMessageBox::addButton(QAbstractButton *button, QMessageBox::ButtonRole role)

Fügt die angegebene „ button “ zur Meldungsbox mit der angegebenen „ role “ hinzu.

Siehe auch „ removeButton()“, „ button()“ und „ setStandardButtons()“.

QPushButton *QMessageBox::addButton(QMessageBox::StandardButton button)

Fügt der Meldungsbox eine Standard- button -Schaltfläche hinzu, sofern dies zulässig ist, und gibt die Schaltfläche zurück.

Dies ist eine überladene Funktion.

Siehe auch ` setStandardButtons()`.

QPushButton *QMessageBox::addButton(const QString &text, QMessageBox::ButtonRole role)

Erstellt eine Schaltfläche mit dem angegebenen Text „ text “, fügt sie dem Meldungsfeld für die angegebene „ role “ hinzu und gibt sie zurück.

Dies ist eine überladene Funktion.

QAbstractButton *QMessageBox::button(QMessageBox::StandardButton which) const

Gibt einen Zeiger zurück, der der Standardschaltfläche „ which “ entspricht, oder „ nullptr “, falls die Standardschaltfläche in diesem Meldungsfeld nicht vorhanden ist.

Hinweis: Änderungen an den Eigenschaften der zurückgegebenen Schaltfläche werden möglicherweise nicht in den nativen Implementierungen des Meldungsdialogs übernommen. Um Dialogschaltflächen anzupassen, fügen Sie stattdessen eine „ custom button “ oder „ button title “ hinzu oder setzen Sie die Option „ Option::DontUseNativeDialog “.

Siehe auch „ standardButtons “ und „ standardButton “ ().

[signal] void QMessageBox::buttonClicked(QAbstractButton *button)

Dieses Signal wird ausgelöst, sobald innerhalb von ` QMessageBox` auf eine Schaltfläche geklickt wird. Die angeklickte Schaltfläche wird in ` button` zurückgegeben.

QMessageBox::ButtonRole QMessageBox::buttonRole(QAbstractButton *button) const

Gibt die Schaltflächenrolle für das angegebene button zurück. Diese Funktion gibt „ InvalidRole “ zurück, wenn „ button “ den Wert „ nullptr “ hat oder nicht zum Meldungsfeld hinzugefügt wurde.

Siehe auch buttons() und addButton().

QList<QAbstractButton *> QMessageBox::buttons() const

Gibt eine Liste aller Schaltflächen zurück, die dem Meldungsfeld hinzugefügt wurden.

Siehe auch „ buttonRole()“, „ addButton()“ und „ removeButton()“.

[override virtual protected] void QMessageBox::changeEvent(QEvent *ev)

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

QCheckBox *QMessageBox::checkBox() const

Gibt das im Dialogfeld angezeigte Kontrollkästchen zurück. Ist kein Kontrollkästchen aktiviert, lautet der Wert „ nullptr “.

Siehe auch „ setCheckBox()“.

QAbstractButton *QMessageBox::clickedButton() const

Gibt die Schaltfläche zurück, auf die der Benutzer geklickt hat, oder „ nullptr “, wenn der Benutzer die Taste „ Esc “ gedrückt hat und kein „ escape button “ festgelegt wurde.

Wenn „ exec()“ noch nicht aufgerufen wurde, wird „nullptr“ zurückgegeben.

Beispiel:

QMessageBox messageBox(this);
QAbstractButton *disconnectButton =
      messageBox.addButton(tr("Disconnect"), QMessageBox::ActionRole);
//...
messageBox.exec();
if (messageBox.clickedButton() == disconnectButton) {
    //...
}

Siehe auch ` standardButton()` und ` button()`.

[override virtual protected] void QMessageBox::closeEvent(QCloseEvent *e)

Umsetzt: ` QDialog::closeEvent(QCloseEvent *e)`.

[static] QMessageBox::StandardButton QMessageBox::critical(QWidget *parent, const QString &title, const QString &text, QMessageBox::StandardButtons buttons = Ok, QMessageBox::StandardButton defaultButton = NoButton)

Öffnet ein Meldungsfeld mit dem Status „Kritisch“ und den angegebenen Werten für „ title “ und „ text “ vor dem angegebenen Widget „ parent “.

Die Standard- buttons werden dem Meldungsfeld hinzugefügt. defaultButton gibt die Schaltfläche an, die beim Drücken von Enter verwendet wird. defaultButton muss sich auf eine Schaltfläche beziehen, die in buttons angegeben wurde. Wenn defaultButton QMessageBox::NoButton ist, wählt QMessageBox automatisch einen geeigneten Standard aus.

Gibt die Kennung der Standardschaltfläche zurück, auf die geklickt wurde. Wurde stattdessen Esc gedrückt, wird escape button zurückgegeben.

Das Meldungsfeld ist ein „ application modal “-Dialogfeld.

Warnung: LöschenSie „ parent “nicht während der Ausführung des Dialogs. Wenn Sie dies tun möchten, sollten Sie den Dialog selbst mit einem der Konstruktoren von „ QMessageBox “ erstellen.

Siehe auch „ question()“, „ warning()“ und „ information()“.

QPushButton *QMessageBox::defaultButton() const

Gibt die Schaltfläche zurück, die als „ default button “ des Meldungsfelds dienen soll. Gibt nullptr zurück, wenn keine Standardschaltfläche festgelegt wurde.

Siehe auch „ setDefaultButton()“, „ addButton()“ und „ QPushButton::setDefault()“.

QAbstractButton *QMessageBox::escapeButton() const

Gibt die Schaltfläche zurück, die beim Drücken der Escape-Taste aktiviert wird.

Standardmäßig versucht „ QMessageBox “, eine Escape-Taste wie folgt automatisch zu erkennen:

  1. Wenn nur eine Schaltfläche vorhanden ist, wird diese zur Escape-Schaltfläche.
  2. Wenn eine Schaltfläche mit der Rolle „ Cancel “ vorhanden ist, wird diese zur Escape-Schaltfläche festgelegt.
  3. Nur unter macOS: Wenn genau eine Schaltfläche mit der Rolle „ QMessageBox::RejectRole “ vorhanden ist, wird diese zur Escape-Schaltfläche festgelegt.

Wenn eine Escape-Taste nicht automatisch erkannt werden konnte, hat das Drücken von „ Esc “ keine Wirkung.

Siehe auch „ setEscapeButton()“ und „ addButton()“.

[override virtual protected] bool QMessageBox::event(QEvent *e)

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

[override virtual slot] int QMessageBox::exec()

Implementiert neu: ` QDialog::exec()`.

Zeigt das Meldungsfeld als „ modal dialog “ an und blockiert die Ausführung, bis der Benutzer es schließt.

Bei Verwendung eines „ QMessageBox “ mit Standardschaltflächen gibt diese Funktion einen „ StandardButton “-Wert zurück, der angibt, welche Standardschaltfläche angeklickt wurde. Bei Verwendung von „ QMessageBox “ mit benutzerdefinierten Schaltflächen gibt diese Funktion einen undurchsichtigen Wert zurück; verwenden Sie „ clickedButton()“, um festzustellen, welche Schaltfläche angeklickt wurde.

Hinweis: Die Funktion „ result()“ gibt ebenfalls den Wert „ StandardButton “ anstelle von „ QDialog::DialogCode “ zurück.

Benutzer können mit keinem anderen Fenster derselben Anwendung interagieren, bis sie den Dialog schließen – entweder durch Klicken auf eine Schaltfläche oder mithilfe eines vom Fenstersystem bereitgestellten Mechanismus.

Siehe auch show() und result().

[static] QMessageBox::StandardButton QMessageBox::information(QWidget *parent, const QString &title, const QString &text, QMessageBox::StandardButtons buttons = Ok, QMessageBox::StandardButton defaultButton = NoButton)

Öffnet ein Informationsfeld mit den angegebenen Werten „ title “ und „ text “ vor dem angegebenen Widget „ parent “.

Die Standard- buttons werden dem Meldungsfeld hinzugefügt. defaultButton gibt die Schaltfläche an, die beim Drücken von Enter verwendet wird. defaultButton muss sich auf eine Schaltfläche beziehen, die in buttons angegeben wurde. Wenn defaultButton gleich QMessageBox::NoButton ist, wählt QMessageBox automatisch einen geeigneten Standard aus.

Gibt die Kennung der Standardschaltfläche zurück, die angeklickt wurde. Wurde stattdessen Esc gedrückt, wird escape button zurückgegeben.

Das Meldungsfeld ist ein „ application modal “-Dialogfeld.

Warnung: LöschenSie „ parent “nicht während der Ausführung des Dialogs. Wenn Sie dies tun möchten, sollten Sie den Dialog selbst mit einem der Konstruktoren von „ QMessageBox “ erstellen.

Siehe auch „ question()“, „ warning()“ und „ critical()“.

[override virtual protected] void QMessageBox::keyPressEvent(QKeyEvent *e)

Implementiert: ` QDialog::keyPressEvent(QKeyEvent *e)`.

void QMessageBox::open(QObject *receiver, const char *member)

Öffnet das Dialogfeld und verbindet dessen Signal „ finished()“ oder „ buttonClicked()“ mit dem durch „ receiver “ und „ member “ angegebenen Slot. Wenn der Slot in „ member “ als ersten Parameter einen Zeiger enthält, erfolgt die Verbindung zu „ buttonClicked()“, andernfalls zu „ finished()“.

Das Signal wird vom Slot getrennt, sobald das Dialogfeld geschlossen wird.

[static] QMessageBox::StandardButton QMessageBox::question(QWidget *parent, const QString &title, const QString &text, QMessageBox::StandardButtons buttons = StandardButtons(Yes | No), QMessageBox::StandardButton defaultButton = NoButton)

Öffnet ein Meldungsfeld mit den angegebenen Werten für „ title “ und „ text “ vor dem angegebenen Widget „ parent “.

Die Standard- buttons werden dem Meldungsfeld hinzugefügt. defaultButton gibt die Schaltfläche an, die beim Drücken von Enter verwendet wird. defaultButton muss sich auf eine Schaltfläche beziehen, die in buttons angegeben wurde. Wenn defaultButton gleich QMessageBox::NoButton ist, wählt QMessageBox automatisch eine geeignete Standardschaltfläche aus.

Gibt die Kennung der Standardschaltfläche zurück, auf die geklickt wurde. Wurde stattdessen Esc gedrückt, wird „ escape button “ zurückgegeben.

Das Meldungsfeld ist ein „ application modal “-Dialogfeld.

Warnung: LöschenSie „ parent “nicht während der Ausführung des Dialogs. Wenn Sie dies tun möchten, sollten Sie den Dialog selbst mithilfe eines der Konstruktoren von „ QMessageBox “ erstellen.

Siehe auch „ information()“, „ warning()“ und „ critical()“.

void QMessageBox::removeButton(QAbstractButton *button)

Entfernt „ button “ aus der Schaltflächenliste, ohne die Datei zu löschen.

Siehe auch „ addButton()“ und „ setStandardButtons()“.

[override virtual protected] void QMessageBox::resizeEvent(QResizeEvent *event)

Implementiert: ` QDialog::resizeEvent` (`QResizeEvent *`).

void QMessageBox::setCheckBox(QCheckBox *cb)

Setzt das Kontrollkästchen „ cb “ im Meldungsdialogfeld. Das Meldungsfeld übernimmt die Kontrolle über das Kontrollkästchen. Das Argument „ cb “ kann auf „ nullptr “ gesetzt werden, um ein vorhandenes Kontrollkästchen aus dem Meldungsfeld zu entfernen.

Siehe auch „ checkBox()“.

void QMessageBox::setDefaultButton(QMessageBox::StandardButton button)

Setzt die Eigenschaft „ default button “ des Meldungsfelds auf „ button “.

Siehe auch „ defaultButton()“, „ addButton()“ und „ QPushButton::setDefault()“.

void QMessageBox::setDefaultButton(QPushButton *button)

Setzt die Eigenschaft „ default button “ des Meldungsfelds auf „ button “.

Siehe auch „ addButton()“ und „ QPushButton::setDefault()“.

void QMessageBox::setEscapeButton(QAbstractButton *button)

Legt die Schaltfläche fest, die beim Drücken der Taste „ Escape “ aktiviert wird, auf „ button “.

Siehe auch „ escapeButton()“, „ addButton()“ und „ clickedButton()“.

void QMessageBox::setEscapeButton(QMessageBox::StandardButton button)

Legt fest, dass die Schaltflächen, die beim Drücken der Taste „ Escape “ aktiviert werden, auf „ button “ gesetzt werden.

Siehe auch „ addButton()“ und „ clickedButton()“.

[since 6.6] void QMessageBox::setOption(QMessageBox::Option option, bool on = true)

Legt fest, dass die angegebene Option „ option “ aktiviert wird, wenn „ on “ auf „true“ gesetzt ist; andernfalls wird die angegebene Option „ option “ deaktiviert.

Optionen (insbesondere die Option „ Option::DontUseNativeDialog “) sollten vor dem Anzeigen des Dialogfelds festgelegt werden.

Es ist nicht garantiert, dass das Festlegen von Optionen, während der Dialog sichtbar ist, eine sofortige Auswirkung auf den Dialog hat.

Das Setzen von Optionen nach dem Ändern anderer Eigenschaften kann dazu führen, dass diese Werte keine Wirkung zeigen.

Diese Funktion wurde in Qt 6.6 eingeführt.

Siehe auch „ options “ und „ testOption()“.

void QMessageBox::setWindowModality(Qt::WindowModality windowModality)

Diese Funktion überschreibt die Funktion „ QWidget::setWindowModality()“.

Legt die Modalität des Meldungsfensters auf „ windowModality “ fest.

Unter macOS gilt: Wenn die Modalität auf „ Qt::WindowModal “ gesetzt ist und das Meldungsfeld ein übergeordnetes Element hat, wird das Meldungsfeld als „ Qt::Sheet “ angezeigt; andernfalls wird das Meldungsfeld als Standarddialogfeld angezeigt.

void QMessageBox::setWindowTitle(const QString &title)

Diese Funktion ist eine Kopie von ` QWidget::setWindowTitle()`.

Setzt den Titel des Meldungsfensters auf „ title “. Unter macOS wird der Fenstertitel ignoriert (gemäß den macOS-Richtlinien).

[override virtual protected] void QMessageBox::showEvent(QShowEvent *e)

Implementiert: QDialog::showEvent(QShowEvent *event).

QMessageBox::StandardButton QMessageBox::standardButton(QAbstractButton *button) const

Gibt den Standard-Enum-Wert für die Schaltfläche zurück, der dem angegebenen „ button “ entspricht, oder „ NoButton “, falls die angegebene „ button “ keine Standardschaltfläche ist.

Siehe auch button() und standardButtons().

[since 6.6] bool QMessageBox::testOption(QMessageBox::Option option) const

Gibt „ true “ zurück, wenn die angegebene Funktion „ option “ aktiviert ist; andernfalls wird „false“ zurückgegeben.

Diese Funktion wurde in Qt 6.6 eingeführt.

Siehe auch „ options “ und „ setOption()“.

[static] QMessageBox::StandardButton QMessageBox::warning(QWidget *parent, const QString &title, const QString &text, QMessageBox::StandardButtons buttons = Ok, QMessageBox::StandardButton defaultButton = NoButton)

Öffnet ein Warnungsfenster mit den angegebenen Werten für „ title “ und „ text “ vor dem angegebenen Widget „ parent “.

Die Standard- buttons werden dem Meldungsfeld hinzugefügt. defaultButton gibt die Schaltfläche an, die beim Drücken von Enter verwendet wird. defaultButton muss sich auf eine Schaltfläche beziehen, die in buttons angegeben wurde. Wenn defaultButton gleich QMessageBox::NoButton ist, wählt QMessageBox automatisch einen geeigneten Standard aus.

Gibt die Kennung der Standardschaltfläche zurück, auf die geklickt wurde. Wurde stattdessen Esc gedrückt, wird escape button zurückgegeben.

Das Meldungsfeld ist ein „ application modal “-Dialogfeld.

Warnung: LöschenSie „ parent “nicht während der Ausführung des Dialogs. Wenn Sie dies tun möchten, sollten Sie den Dialog selbst mit einem der Konstruktoren von „ QMessageBox “ erstellen.

Siehe auch „ question()“, „ information()“ und „ critical()“.

Makro-Dokumentation

QT_REQUIRE_VERSION(int argc, char **argv, const char *version)

Mit diesem Makro lässt sich sicherstellen, dass die Anwendung mit einer ausreichend aktuellen Version von Qt ausgeführt wird. Dies ist insbesondere dann nützlich, wenn Ihre Anwendung auf einer bestimmten Fehlerbehebung angewiesen ist, die in einer Bugfix-Version (z. B. 6.1.2) eingeführt wurde.

Die Parameter „ argc “ und „ argv “ entsprechen den Parametern „ argc “ und „ argv “ der Funktion „ main() “. Der Parameter „ version “ ist ein String-Literal, das angibt, welche Qt-Version die Anwendung benötigt (z. B. „6.1.2“).

Beispiel:

#include <QApplication>
#include <QMessageBox>

int main(int argc, char *argv[])
{
    QT_REQUIRE_VERSION(argc, argv, "4.0.2")

    QApplication app(argc, argv);
    //...
    return app.exec();
}

© 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.