QStatusBar Class
Die Klasse QStatusBar stellt eine horizontale Leiste zur Verfügung, die zur Darstellung von Statusinformationen geeignet ist. Mehr...
Kopfzeile: | #include <QStatusBar> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
qmake: | QT += widgets |
Vererbt: | QWidget |
- Liste aller Mitglieder, einschließlich geerbter Mitglieder
- QStatusBar ist Teil des Hilfesystems.
Eigenschaften
- sizeGripEnabled : bool
Ö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() |
Reimplementierte 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 |
Detaillierte Beschreibung
Jeder Statusindikator fällt in eine von drei Kategorien:
- Temporär - nimmt kurzzeitig den größten Teil der Statusleiste ein. Wird z. B. 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 z. B. für die Anzeige der Seiten- und Zeilennummer in einem Textverarbeitungsprogramm verwendet.
- Permanent - wird nie ausgeblendet. Wird für wichtige Modusanzeigen verwendet, z. B. zeigen einige Anwendungen eine Feststelltaste in der Statusleiste an.
Mit QStatusBar können Sie alle drei Arten von Indikatoren anzeigen.
Typischerweise erfolgt eine Anforderung der Statusleistenfunktionalität im Zusammenhang mit einem QMainWindow Objekt. QMainWindow bietet ein Hauptanwendungsfenster mit einer Menüleiste, Symbolleisten, Dock-Widgets und einer Statusleiste um ein großes zentrales Widget. 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 Nachricht anzuzeigen:
statusBar()->showMessage(tr("Ready"));
Um eine temporäre Meldung zu entfernen, verwenden Sie den Slot clearMessage(), oder setzen Sie beim Aufruf von showMessage() ein Zeitlimit. Zum Beispiel:
statusBar()->showMessage(tr("Ready"), 2000);
Verwenden Sie die Funktion currentMessage(), um die aktuell angezeigte temporäre Meldung abzurufen. Die Klasse QStatusBar bietet auch das Signal messageChanged(), das bei jeder Änderung der temporären Statusmeldung ausgegeben wird.
Normale und permanente Meldungen werden angezeigt, indem Sie ein kleines Widget (QLabel, QProgressBar oder auch QToolButton) erstellen und es dann mit der Funktion addWidget() oder addPermanentWidget() zur Statusleiste hinzufügen. Verwenden Sie die Funktion removeWidget(), um solche Meldungen aus der Statusleiste zu entfernen.
statusBar()->addWidget(new MyReadWriteIndication);
Standardmäßig bietet QStatusBar eine QSizeGrip in der unteren rechten Ecke. Sie können es mit der Funktion setSizeGripEnabled() deaktivieren. Verwenden Sie die Funktion isSizeGripEnabled(), um den aktuellen Status des Größengriffs zu ermitteln.
Siehe auch QMainWindow und QStatusTipEvent.
Dokumentation der Eigenschaften
sizeGripEnabled : bool
Diese Eigenschaft legt fest, ob die QSizeGrip in der unteren rechten Ecke der Statusleiste aktiviert ist.
Der Größengriff ist standardmäßig aktiviert.
Zugriffsfunktionen:
bool | isSizeGripEnabled() const |
void | setSizeGripEnabled(bool) |
Dokumentation der Mitgliedsfunktionen
[explicit]
QStatusBar::QStatusBar(QWidget *parent = nullptr)
Konstruiert eine Statusleiste mit einer Größe grip und der angegebenen parent.
Siehe auch setSizeGripEnabled().
[virtual noexcept]
QStatusBar::~QStatusBar()
Zerstört diese Statusleiste und gibt alle zugewiesenen Ressourcen und untergeordneten Widgets frei.
void QStatusBar::addPermanentWidget(QWidget *widget, int stretch = 0)
Fügt das angegebene widget dauerhaft zu dieser Statusleiste hinzu und repariert das Widget, wenn es nicht bereits ein Kind dieses QStatusBar Objekts ist. Der Parameter stretch wird verwendet, um eine geeignete Größe für die angegebene widget zu berechnen, wenn die Statusleiste wächst und schrumpft. Der Standard-Stretch-Faktor ist 0, d.h. das Widget erhält ein Minimum an Platz.
Dauerhaft 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 die angegebene widget zu dieser Statusleiste hinzu und repariert das Widget, wenn es nicht bereits ein Kind dieses QStatusBar Objekts ist. Der Parameter stretch wird verwendet, um eine geeignete Größe für die angegebene widget zu berechnen, wenn die Statusleiste wächst und schrumpft. Der Standard-Stretch-Faktor ist 0, d.h. er gibt dem Widget ein Minimum an Platz.
Das Widget befindet sich ganz links vom 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 temporären Meldungen, die angezeigt werden.
Siehe auch currentMessage(), showMessage(), und removeWidget().
QString QStatusBar::currentMessage() const
Gibt die aktuell angezeigte temporäre Nachricht zurück oder eine leere Zeichenkette, wenn es keine solche Nachricht gibt.
Siehe auch showMessage().
[override virtual protected]
bool QStatusBar::event(QEvent *e)
Reimplements: QWidget::event(QEvent *Event).
[protected]
void QStatusBar::hideOrShow()
Stellt sicher, dass die richtigen Widgets sichtbar sind.
Wird von den Funktionen showMessage() und clearMessage() verwendet.
int QStatusBar::insertPermanentWidget(int index, QWidget *widget, int stretch = 0)
Fügt das angegebene widget am angegebenen index dauerhaft in diese Statusleiste ein, wobei das Widget repariert wird, wenn es nicht bereits ein Kind dieses QStatusBar -Objekts ist. Wenn index außerhalb des Bereichs liegt, wird das Widget angehängt (in diesem Fall wird der aktuelle Index des Widgets zurückgegeben).
Der Parameter stretch wird verwendet, um eine geeignete Größe für die angegebene widget zu berechnen, wenn die Statusleiste wächst und schrumpft. Der Standard-Stretchfaktor ist 0, d.h. das Widget erhält ein Minimum an Platz.
Dauerhaft 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 index in diese Statusleiste ein, wobei das Widget reparentiert wird, wenn es nicht bereits ein Kind dieses QStatusBar Objekts ist. Wenn index außerhalb des Bereichs liegt, wird das Widget angehängt (in diesem Fall wird der aktuelle Index des Widgets zurückgegeben).
Der Parameter stretch wird verwendet, um eine geeignete Größe für die angegebene widget zu berechnen, wenn die Statusleiste wächst und schrumpft. Der Standard-Stretchfaktor ist 0, d.h. das Widget erhält ein Minimum an Platz.
Das Widget befindet sich ganz links vom 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 ausgegeben, wenn sich die temporäre Statusmeldung ändert. Die neue temporäre Nachricht wird im Parameter message übergeben, der eine Null-Zeichenkette ist, wenn die Nachricht entfernt wurde.
Siehe auch showMessage() und clearMessage().
[override virtual protected]
void QStatusBar::paintEvent(QPaintEvent *event)
Reimplements: QWidget::paintEvent(QPaintEvent *event).
Zeigt gegebenenfalls die temporäre Nachricht als Reaktion auf das Paint-Ereignis an event.
[protected]
void QStatusBar::reformat()
Ändert das Aussehen der Statusleiste, um Änderungen der Elemente zu berücksichtigen.
Spezielle Unterklassen können diese Funktion benötigen, aber die Geometrieverwaltung kümmert sich in der Regel um alle notwendigen Umstellungen.
void QStatusBar::removeWidget(QWidget *widget)
Entfernt das angegebene widget aus der Statusleiste.
Hinweis: Diese Funktion löscht das Widget nicht, sondern verbirgt es. Um das Widget wieder hinzuzufügen, müssen Sie die beiden Funktionen addWidget() und show() aufrufen.
Siehe auch addWidget(), addPermanentWidget(), und clearMessage().
[override virtual protected]
void QStatusBar::resizeEvent(QResizeEvent *e)
Reimplements: QWidget::resizeEvent(QResizeEvent *event).
[override virtual protected]
void QStatusBar::showEvent(QShowEvent *)
Reimplements: QWidget::showEvent(QShowEvent *event).
[slot]
void QStatusBar::showMessage(const QString &message, int timeout = 0)
Blendet die normalen Statusanzeigen aus und zeigt die angegebene message für die angegebene Anzahl von Millisekunden an (timeout). Ist timeout gleich 0 (Standard), bleibt 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 temporäre Erklärungen von Tooltip-Texten anzuzeigen, so dass die Übergabe von timeout mit dem Wert 0 nicht ausreicht, um eine permanent message anzuzeigen.
Siehe auch messageChanged(), currentMessage(), und clearMessage().
© 2025 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.