QgsStatusBar class

A proxy widget for QStatusBar.

Unlike QStatusBar, QgsStatusBar allows finer control of widget placement, including the option to locate permanent widgets on the left side of the bar.

QgsStatusBar is designed to be embedded into an existing window's QStatusBar, as a permanent widget. This allows reuse of the special QStatusBar handling for resize grips and other platform specific status bar tweaks.

Instead of adding child widgets and showing messages directly in the window's status bar, these widgets (and messages) should instead be added into the embedded QgsStatusBar.

Public types

enum Anchor { AnchorLeft = 0, AnchorRight }
Placement anchor for widgets.

Constructors, destructors, conversion operators

QgsStatusBar(QWidget* parent = nullptr)
Constructor for QgsStatusBar.

Public functions

void addPermanentWidget(QWidget* widget, int stretch = 0, Anchor anchor = AnchorRight)
Adds the given widget permanently to this status bar, reparenting the widget if it isn't already a child of this object.
auto currentMessage() const -> QString
Returns the current message shown in the status bar.
void removeWidget(QWidget* widget)
Removes a widget from the status bar.

Public slots

void clearMessage()
Removes any temporary message being shown.
void showMessage(const QString& message, int timeout = 0)
Displays the given message for the specified number of milli-seconds (timeout).

Enum documentation

enum QgsStatusBar::Anchor

Placement anchor for widgets.

Enumerators
AnchorLeft

Anchor widget to left of status bar.

AnchorRight

Anchor widget to right of status bar.

Function documentation

void QgsStatusBar::addPermanentWidget(QWidget* widget, int stretch = 0, Anchor anchor = AnchorRight)

Adds the given widget permanently to this status bar, reparenting the widget if it isn't already a child of this object.

The stretch parameter is used to compute a suitable size for the given widget as the status bar grows and shrinks. The default stretch factor is 0, i.e giving the widget a minimum of space.

The anchor parameter controls which side of the status bar the widget should be anchored to.

QString QgsStatusBar::currentMessage() const

Returns the current message shown in the status bar.

void QgsStatusBar::removeWidget(QWidget* widget)

Removes a widget from the status bar.

Ownership of the widget remains unchanged, and the widget itself is not deleted.

void QgsStatusBar::clearMessage() public slot

Removes any temporary message being shown.

void QgsStatusBar::showMessage(const QString& message, int timeout = 0) public slot

Displays the given message for the specified number of milli-seconds (timeout).

If timeout is 0 (default), the message remains displayed until the clearMessage() slot is called or until the showMessage() slot is called again to change the message.