En esta página

QStatusBar Class

La clase QStatusBar proporciona una barra horizontal adecuada para presentar información de estado. Más...

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

Propiedades

Funciones públicas

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)

Ranuras públicas

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

Señales

void messageChanged(const QString &message)

Funciones protegidas

void hideOrShow()
void reformat()

Funciones protegidas reimplementadas

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

Descripción detallada

Cada indicador de estado pertenece a una de estas tres categorías:

  • Temporal: ocupa brevemente la mayor parte de la barra de estado. Se utiliza, por ejemplo, para explicar textos de consejos sobre herramientas o entradas de menú.
  • Normal - ocupa parte de la barra de estado y puede quedar oculto por mensajes temporales. Se utiliza, por ejemplo, para mostrar la página y el número de línea en un procesador de textos.
  • Permanente: no se oculta nunca. Se utiliza para indicaciones de modo importantes, por ejemplo, algunas aplicaciones ponen un indicador de Bloq Mayús en la barra de estado.

QStatusBar te permite mostrar los tres tipos de indicadores.

Típicamente, una petición para la funcionalidad de la barra de estado ocurre en relación a un objeto QMainWindow. QMainWindow proporciona una ventana principal de aplicación, con una barra de menú, barras de herramientas, widgets de dock y una barra de estado alrededor de un gran widget central. La barra de estado puede recuperarse mediante la función QMainWindow::statusBar(), y sustituirse mediante la función QMainWindow::setStatusBar().

Utilice la función showMessage() para mostrar un mensaje temporal:

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

Para eliminar un mensaje temporal, utilice la ranura clearMessage(), o establezca un límite de tiempo al llamar a showMessage(). Por ejemplo:

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

Utilice la función currentMessage() para recuperar el mensaje temporal mostrado actualmente. La clase QStatusBar también proporciona la señal messageChanged() que se emite cada vez que cambia el mensaje de estado temporal.

Los mensajesnormales y permanentes se muestran creando un pequeño widget (QLabel, QProgressBar o incluso QToolButton) y añadiéndolo después a la barra de estado mediante la función addWidget() o addPermanentWidget(). Utilice la función removeWidget() para eliminar estos mensajes de la barra de estado.

statusBar()->addWidget(new MyReadWriteIndication);

Por defecto QStatusBar proporciona un QSizeGrip en la esquina inferior derecha. Puedes desactivarlo utilizando la función setSizeGripEnabled(). Utiliza la función isSizeGripEnabled() para determinar el estado actual del agarre de tamaño.

Una barra de estado mostrada al estilo del widget Fusion

Véase también QMainWindow y QStatusTipEvent.

Documentación de propiedades

sizeGripEnabled : bool

Esta propiedad mantiene si el QSizeGrip en la esquina inferior derecha de la barra de estado está habilitado.

El control de tamaño está activado por defecto.

Funciones de acceso:

bool isSizeGripEnabled() const
void setSizeGripEnabled(bool)

Documentación de funciones miembro

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

Construye una barra de estado con un tamaño de agarre y la dirección parent.

Véase también setSizeGripEnabled().

[virtual noexcept] QStatusBar::~QStatusBar()

Destruye esta barra de estado y libera los recursos asignados y los widgets hijos.

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

Añade el widget dado permanentemente a esta barra de estado, reparentando el widget si no es ya hijo de este objeto QStatusBar. El parámetro stretch se utiliza para calcular un tamaño adecuado para el widget dado a medida que la barra de estado crece y se encoge. El factor de estiramiento por defecto es 0, es decir, dar al widget un espacio mínimo.

Permanentemente significa que el widget no puede ser oscurecido por mensajes temporales. Se encuentra en el extremo derecho de la barra de estado.

Véase también insertPermanentWidget(), removeWidget(), y addWidget().

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

Añade el widget dado a esta barra de estado, reparentando el widget si no es ya hijo de este objeto QStatusBar. El parámetro stretch se utiliza para calcular un tamaño adecuado para el widget dado a medida que la barra de estado crece y se encoge. El factor de estiramiento por defecto es 0, es decir, dar al widget un espacio mínimo.

El widget se sitúa en el extremo izquierdo del primer widget permanente (véase addPermanentWidget()) y puede quedar oculto por mensajes temporales.

Véase también insertWidget(), removeWidget(), y addPermanentWidget().

[slot] void QStatusBar::clearMessage()

Elimina cualquier mensaje temporal que se esté mostrando.

Véase también currentMessage(), showMessage() y removeWidget().

QString QStatusBar::currentMessage() const

Devuelve el mensaje temporal mostrado actualmente, o una cadena vacía si no existe tal mensaje.

Véase también showMessage().

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

Reimplementa: QWidget::event(QEvent *event).

[protected] void QStatusBar::hideOrShow()

Asegura que los widgets correctos sean visibles.

Utilizado por las funciones showMessage() y clearMessage().

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

Inserta el widget dado en el index dado permanentemente a esta barra de estado, reparentando el widget si no es ya un hijo de este objeto QStatusBar. Si index está fuera de rango, se añade el widget (en cuyo caso se devuelve el índice real del widget).

El parámetro stretch se utiliza para calcular un tamaño adecuado para el widget dado a medida que la barra de estado crece y se encoge. El factor de estiramiento por defecto es 0, es decir, dar al widget un espacio mínimo.

Permanentemente significa que el widget no puede ser oscurecido por mensajes temporales. Se encuentra en el extremo derecho de la barra de estado.

Véase también addPermanentWidget(), removeWidget(), y addWidget().

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

Inserta el widget dado en el index dado en esta barra de estado, reparentando el widget si no es ya hijo de este objeto QStatusBar. Si index está fuera de rango, se añade el widget (en cuyo caso se devuelve el índice real del widget).

El parámetro stretch se utiliza para calcular un tamaño adecuado para el widget dado a medida que la barra de estado crece y se encoge. El factor de estiramiento por defecto es 0, es decir, dar al widget un espacio mínimo.

El widget se sitúa en el extremo izquierdo del primer widget permanente (véase addPermanentWidget()) y puede quedar oculto por mensajes temporales.

Véase también addWidget(), removeWidget(), y addPermanentWidget().

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

Esta señal se emite cada vez que cambia el mensaje de estado temporal. El nuevo mensaje temporal se pasa en el parámetro message que es una cadena nula cuando el mensaje ha sido eliminado.

Véase también showMessage() y clearMessage().

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

Reimplementa: QWidget::paintEvent(QPaintEvent *event).

Muestra el mensaje temporal, si procede, en respuesta al paint event.

[protected] void QStatusBar::reformat()

Cambia la apariencia de la barra de estado para tener en cuenta los cambios en los elementos.

Las subclases especiales pueden necesitar esta función, pero la gestión de la geometría normalmente se encargará de cualquier reordenación necesaria.

void QStatusBar::removeWidget(QWidget *widget)

Elimina el widget especificado de la barra de estado.

Nota: Esta función no elimina el widget, sino que lo oculta. Para volver a añadir el widget, debe llamar a las funciones addWidget() y show().

Véase también addWidget(), addPermanentWidget() y clearMessage().

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

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

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

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

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

Oculta las indicaciones de estado normales y muestra el message dado durante el número especificado de milisegundos (timeout). Si timeout es 0 (por defecto), message permanece en pantalla hasta que se llama a la ranura clearMessage() o hasta que se llama de nuevo a la ranura showMessage() para cambiar el mensaje.

Tenga en cuenta que showMessage() se llama para mostrar explicaciones temporales de los textos de consejos de herramientas, por lo que pasar un timeout de 0 no es suficiente para mostrar un permanent message.

Véase también messageChanged(), currentMessage(), y 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.