QStatusBar(3) Horizontal bar suitable for presenting status information


#include <qstatusbar.h>

Inherits QWidget.

Public Members

QStatusBar ( QWidget * parent = 0, const char * name = 0 )

virtual ~QStatusBar ()

virtual void addWidget ( QWidget * widget, int stretch = 0, bool permanent = FALSE )

virtual void removeWidget ( QWidget * widget )

void setSizeGripEnabled ( bool )

bool isSizeGripEnabled () const

Public Slots

void message ( const QString & message )

void message ( const QString & message, int ms )

void clear ()


void messageChanged ( const QString & message )


bool sizeGripEnabled - whether the QSizeGrip in the bottom right of the status bar is enabled

Protected Members

virtual void paintEvent ( QPaintEvent * )

void reformat ()

void hideOrShow ()


The QStatusBar class provides a horizontal bar suitable for presenting status information.

Each status indicator falls into one of three categories:

Temporary - briefly occupies most of the status bar. Used to explain tool tip texts or menu entries, for example.
Normal - occupies part of the status bar and may be hidden by temporary messages. Used to display the page and line number in a word processor, for example.
Permanent - is never hidden. Used for important mode indications, for example, some applications put a Caps Lock indicator in the status bar.

QStatusBar lets you display all three types of indicators.

To display a temporary message, call message() (perhaps by connecting a suitable signal to it). To remove a temporary message, call clear(). There are two variants of message(): one that displays the message until the next clear() or message() and one that has a time limit:

connect( loader, SIGNAL(progressMessage(const QString&)),
statusBar(), SLOT(message(const QString&)) );

statusBar()->message("Loading..."); // Initial message
loader.loadStuff(); // Emits progress messages
statusBar()->message("Done.", 2000); // Final message for 2 seconds

Normal and Permanent messages are displayed by creating a small widget and then adding it to the status bar with addWidget(). Widgets like QLabel, QProgressBar or even QToolButton are useful for adding to status bars. removeWidget() is used to remove widgets.

statusBar()->addWidget(new MyReadWriteIndication(statusBar()));

By default QStatusBar provides a QSizeGrip in the lower-right corner. You can disable it with setSizeGripEnabled(FALSE);

[Image Omitted]

[Image Omitted]

See also QToolBar, QMainWindow, QLabel, GUI Design Handbook: Status Bar, Main Window and Related Classes, and Help System.


QStatusBar::QStatusBar ( QWidget * parent = 0, const char * name = 0 )

Constructs a status bar called name with parent parent and with a size grip.

See also sizeGripEnabled.

QStatusBar::~QStatusBar () [virtual]

Destroys the status bar and frees any allocated resources and child widgets.

void QStatusBar::addWidget ( QWidget * widget, int stretch = 0, bool permanent = FALSE ) [virtual]

Adds widget to this status bar. widget is reparented if it isn't already a child of the QStatusBar.

widget is permanently visible if permanent is TRUE and may be obscured by temporary messages if permanent is FALSE. The default is FALSE.

If permanent is TRUE, widget is located at the far right of the status bar. If permanent is FALSE (the default), widget is located just to the left of the first permanent widget.

stretch is used to compute a suitable size for widget as the status bar grows and shrinks. The default of 0 uses a minimum of space.

This function may cause some flicker.

See also removeWidget().

void QStatusBar::clear () [slot]

Removes any temporary message being shown.

See also message().

void QStatusBar::hideOrShow () [protected]

Ensures that the right widgets are visible. Used by message() and clear().

bool QStatusBar::isSizeGripEnabled () const

Returns TRUE if the QSizeGrip in the bottom right of the status bar is enabled; otherwise returns FALSE. See the "sizeGripEnabled" property for details.

void QStatusBar::message ( const QString & message ) [slot]

Hides the normal status indicators and displays message until clear() or another message() is called.

See also clear().

Example: regexptester/regexptester.cpp.

void QStatusBar::message ( const QString & message, int ms ) [slot]

This is an overloaded member function, provided for convenience. It behaves essentially like the above function.

Hides the normal status indications and displays message for ms milli-seconds or until clear() or another message() is called, whichever occurs first.

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

This signal is emitted when the temporary status messages changes. message is the new temporary message, and is a null-string when the message has been removed.

See also message() and clear().

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

Shows the temporary message, if appropriate.

Reimplemented from QWidget.

void QStatusBar::reformat () [protected]

Changes the status bar's appearance to account for item changes. Special subclasses may need this, but geometry management will usually take care of any necessary rearrangements.

void QStatusBar::removeWidget ( QWidget * widget ) [virtual]

Removes widget from the status bar.

This function may cause some flicker.

Note that widget is not deleted.

See also addWidget().

void QStatusBar::setSizeGripEnabled ( bool )

Sets whether the QSizeGrip in the bottom right of the status bar is enabled. See the "sizeGripEnabled" property for details.

Property Documentation

bool sizeGripEnabled

This property holds whether the QSizeGrip in the bottom right of the status bar is enabled.

Enables or disables the QSizeGrip in the bottom right of the status bar. By default, the size grip is enabled.

Set this property's value with setSizeGripEnabled() and get this property's value with isSizeGripEnabled().


Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the license file included in the distribution for a complete license statement.


Generated automatically from the source code.


If you find a bug in Qt, please report it as described in http://doc.trolltech.com/bughowto.html. Good bug reports help us to help you. Thank you.

The definitive Qt documentation is provided in HTML format; it is located at $QTDIR/doc/html and can be read using Qt Assistant or with a web browser. This man page is provided as a convenience for those users who prefer man pages, although this format is not officially supported by Trolltech.

If you find errors in this manual page, please report them to [email protected]. Please include the name of the manual page (qstatusbar.3qt) and the Qt version (3.3.8).