Auf dieser Seite

QStatusBar Class

Die Klasse „QStatusBar“ stellt eine horizontale Leiste bereit, die sich zur Darstellung von Statusinformationen eignet. Mehr...

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

Eigenschaften

Öffentliche Funktionen

QStatusBar(QWidget *parent = nullptr)
virtual ~QStatusBar()
void addPermanentWidget(QWidget *widget, int stretch = 0)
void addWidget(QWidget *widget, int stretch = 0)
QString currentMessage() const
int insertPermanentWidget(int index, QWidget *widget, int stretch = 0)
int insertWidget(int index, QWidget *widget, int stretch = 0)
bool isSizeGripEnabled() const
void removeWidget(QWidget *widget)
void setSizeGripEnabled(bool)

Öffentliche Slots

void clearMessage()
void showMessage(const QString &message, int timeout = 0)

Signale

void messageChanged(const QString &message)

Geschützte Funktionen

void hideOrShow()
void reformat()

Neu implementierte geschützte Funktionen

virtual bool event(QEvent *e) override
virtual void paintEvent(QPaintEvent *event) override
virtual void resizeEvent(QResizeEvent *e) override
virtual void showEvent(QShowEvent *) override

Ausführliche Beschreibung

Jede Statusanzeige fällt in eine von drei Kategorien:

  • Temporär – nimmt kurzzeitig den größten Teil der Statusleiste ein. Wird beispielsweise zur Erläuterung von Tooltip-Texten oder Menüeinträgen verwendet.
  • Normal – nimmt einen Teil der Statusleiste ein und kann durch temporäre Meldungen verdeckt werden. Wird beispielsweise verwendet, um die Seiten- und Zeilennummer in einem Textverarbeitungsprogramm anzuzeigen.
  • Permanent – wird niemals ausgeblendet. Wird für wichtige Modusanzeigen verwendet; einige Anwendungen zeigen beispielsweise eine „Caps-Lock“-Anzeige in der Statusleiste an.

Mit QStatusBar können Sie alle drei Arten von Anzeigen darstellen.

In der Regel erfolgt eine Anforderung der Statusleistenfunktionalität in Verbindung mit einem „ QMainWindow “-Objekt. „ QMainWindow “ stellt ein Hauptanwendungsfenster mit einer Menüleiste, Symbolleisten, Andock-Widgets und einer Statusleiste um ein großes zentrales Widget herum bereit. Die Statusleiste kann mit der Funktion „ QMainWindow::statusBar()“ abgerufen und mit der Funktion „ QMainWindow::setStatusBar()“ ersetzt werden.

Verwenden Sie den Slot „ showMessage()“, um eine temporäre Meldung anzuzeigen:

statusBar()->showMessage(tr("Ready"));

Um eine temporäre Meldung zu entfernen, verwenden Sie den Slot ` clearMessage()` oder legen Sie beim Aufruf von ` showMessage()` ein Zeitlimit fest. Beispiel:

statusBar()->showMessage(tr("Ready"), 2000);

Verwenden Sie die Funktion ` currentMessage()` (), um die aktuell angezeigte temporäre Meldung abzurufen. Die Klasse `QStatusBar` stellt außerdem das Signal ` messageChanged()` () bereit, das immer dann ausgelöst wird, wenn sich die temporäre Statusmeldung ändert.

Normale und permanente Meldungen werden angezeigt, indem ein kleines Widget (QLabel, QProgressBar oder sogar QToolButton) erstellt und anschließend mithilfe der Funktion „ addWidget()“ oder „ addPermanentWidget()“ zur Statusleiste hinzugefügt wird. Verwenden Sie die Funktion „ removeWidget()“, um solche Meldungen aus der Statusleiste zu entfernen.

statusBar()->addWidget(new MyReadWriteIndication);

Standardmäßig stellt QStatusBar in der unteren rechten Ecke einen Größengriff ( QSizeGrip ) bereit. Sie können diesen mit der Funktion ` setSizeGripEnabled()` deaktivieren. Verwenden Sie die Funktion ` isSizeGripEnabled()`, um den aktuellen Status des Größengriffs zu ermitteln.

Eine Statusleiste im Fusion-Widget-Stil

Siehe auch „ QMainWindow “ und „ QStatusTipEvent “.

Dokumentation zu den Eigenschaften

sizeGripEnabled : bool

Diese Eigenschaft gibt an, ob die Funktion „ QSizeGrip “ in der unteren rechten Ecke der Statusleiste aktiviert ist

Der Größenregler ist standardmäßig aktiviert.

Zugriffsfunktionen:

bool isSizeGripEnabled() const
void setSizeGripEnabled(bool)

Dokumentation zu den Member-Funktionen

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

Erstellt eine Statusleiste mit einem Größenregler und dem angegebenen „ parent “.

Siehe auch ` setSizeGripEnabled()`.

[virtual noexcept] QStatusBar::~QStatusBar()

Löscht diese Statusleiste und gibt alle zugewiesenen Ressourcen sowie untergeordnete Widgets frei.

void QStatusBar::addPermanentWidget(QWidget *widget, int stretch = 0)

Fügt das angegebene „ widget “ dauerhaft zur Statusleiste hinzu und ordnet das Widget neu zu, falls es noch kein untergeordnetes Element dieses „ QStatusBar “-Objekts ist. Der Parameter „ stretch “ wird verwendet, um eine geeignete Größe für das angegebene „ widget “ zu berechnen, wenn die Statusleiste vergrößert oder verkleinert wird. Der Standard-Dehnungsfaktor ist 0, d. h., dem Widget wird ein Minimum an Platz zugewiesen.

„Permanent“ bedeutet, dass das Widget nicht durch temporäre Meldungen verdeckt werden darf. Es befindet sich ganz rechts in der Statusleiste.

Siehe auch insertPermanentWidget(), removeWidget() und addWidget().

void QStatusBar::addWidget(QWidget *widget, int stretch = 0)

Fügt das angegebene ` widget ` zur Statusleiste hinzu und ordnet das Widget neu zu, falls es noch kein untergeordnetes Element dieses ` QStatusBar `-Objekts ist. Der Parameter ` stretch ` wird verwendet, um eine geeignete Größe für das angegebene ` widget ` zu berechnen, wenn die Statusleiste vergrößert oder verkleinert wird. Der Standard-Dehnungsfaktor ist 0, d. h., dem Widget wird ein Minimum an Platz zugewiesen.

Das Widget befindet sich ganz links neben dem ersten permanenten Widget (siehe addPermanentWidget()) und kann durch temporäre Meldungen verdeckt werden.

Siehe auch insertWidget(), removeWidget() und addPermanentWidget().

[slot] void QStatusBar::clearMessage()

Entfernt alle aktuell angezeigten temporären Meldungen.

Siehe auch currentMessage(), showMessage() und removeWidget().

QString QStatusBar::currentMessage() const

Gibt die aktuell angezeigte temporäre Meldung zurück oder eine leere Zeichenkette, falls keine solche Meldung vorhanden ist.

Siehe auch „ showMessage()“.

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

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

[protected] void QStatusBar::hideOrShow()

Stellt sicher, dass die richtigen Widgets angezeigt werden.

Wird von den Funktionen „ showMessage()“ und „ clearMessage()“ verwendet.

int QStatusBar::insertPermanentWidget(int index, QWidget *widget, int stretch = 0)

Fügt das angegebene „ widget “ an der angegebenen Position „ index “ dauerhaft in diese Statusleiste ein und ordnet das Widget dem Objekt „ QStatusBar “ als untergeordnetes Element zu, falls es noch kein untergeordnetes Element dieses Objekts ist. Liegt „ index “ außerhalb des zulässigen Bereichs, wird das Widget angehängt (in diesem Fall wird der tatsächliche Index des Widgets zurückgegeben).

Der Parameter „ stretch “ wird verwendet, um eine geeignete Größe für das angegebene widget zu berechnen, wenn die Statusleiste vergrößert oder verkleinert wird. Der Standard-Stretch-Faktor ist 0, d. h., dem Widget wird ein Minimum an Platz zugewiesen.

„Permanent“ bedeutet, dass das Widget nicht durch temporäre Meldungen verdeckt werden darf. Es befindet sich ganz rechts in der Statusleiste.

Siehe auch „ addPermanentWidget()“, „ removeWidget()“ und „ addWidget()“.

int QStatusBar::insertWidget(int index, QWidget *widget, int stretch = 0)

Fügt das angegebene ` widget ` an der angegebenen Position ` index ` in diese Statusleiste ein und ordnet das Widget neu zu, falls es noch kein untergeordnetes Element dieses ` QStatusBar `-Objekts ist. Liegt ` index ` außerhalb des zulässigen Bereichs, wird das Widget angehängt (in diesem Fall wird der tatsächliche Index des Widgets zurückgegeben).

Der Parameter „ stretch “ wird verwendet, um eine geeignete Größe für das angegebene „ widget “ zu berechnen, während die Statusleiste vergrößert oder verkleinert wird. Der Standard-Dehnungsfaktor ist 0, d. h., dem Widget wird ein Minimum an Platz zugewiesen.

Das Widget befindet sich ganz links neben dem ersten permanenten Widget (siehe addPermanentWidget()) und kann durch temporäre Meldungen verdeckt werden.

Siehe auch addWidget(), removeWidget() und addPermanentWidget().

[signal] void QStatusBar::messageChanged(const QString &message)

Dieses Signal wird immer dann ausgelöst, wenn sich die temporäre Statusmeldung ändert. Die neue temporäre Meldung wird im Parameter „ message “ übergeben, der eine Null-Zeichenkette ist, wenn die Meldung entfernt wurde.

Siehe auch „ showMessage()“ und „ clearMessage()“.

[override virtual protected] void QStatusBar::paintEvent(QPaintEvent *event)

Implementiert: ` QWidget::paintEvent` (`QPaintEvent *event`).

Zeigt gegebenenfalls die temporäre Meldung als Reaktion auf das Zeichen event an.

[protected] void QStatusBar::reformat()

Passen das Erscheinungsbild der Statusleiste an, um Änderungen an den Elementen Rechnung zu tragen.

Bestimmte Unterklassen benötigen diese Funktion möglicherweise, doch in der Regel übernimmt die Geometrieverwaltung alle erforderlichen Neuanordnungen.

void QStatusBar::removeWidget(QWidget *widget)

Entfernt das angegebene Widget „ widget “ aus der Statusleiste.

Hinweis: Diese Funktion löscht das Widget nicht, sondern blendet es aus. Um das Widget wieder hinzuzufügen, müssen Sie sowohl die Funktion „ addWidget()“ als auch die Funktion „ show()“ aufrufen.

Siehe auch „ addWidget()“, „ addPermanentWidget()“ und „ clearMessage()“.

[override virtual protected] void QStatusBar::resizeEvent(QResizeEvent *e)

Implementiert: QWidget::resizeEvent(QResizeEvent *event).

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

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

[slot] void QStatusBar::showMessage(const QString &message, int timeout = 0)

Blendet die normalen Statusanzeigen aus und zeigt den angegebenen „ message “ für die angegebene Anzahl von Millisekunden an (timeout). Ist „ timeout “ gleich 0 (Standard), bleibt der „ message “ so lange angezeigt, bis der Slot „ clearMessage()“ aufgerufen wird oder bis der Slot „showMessage()“ erneut aufgerufen wird, um die Meldung zu ändern.

Beachten Sie, dass showMessage() aufgerufen wird, um vorübergehende Erläuterungen zu Tooltip-Texten anzuzeigen; daher reicht die Übergabe eines „ timeout “-Werts von 0 nicht aus, um ein „ permanent message “ anzuzeigen.

Siehe auch ` messageChanged()`, ` currentMessage()` und ` clearMessage()`.

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