QStatusBar Class
QStatusBar クラスは、ステータス情報の表示に適した水平バーを提供します。詳細...
| ヘッダー: | #include <QStatusBar> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
| qmake: | QT += widgets |
| 継承元: | QWidget |
- 継承されたメンバーを含むすべてのメンバーの一覧
- QStatusBarはヘルプシステムの一部です。
プロパティ
- sizeGripEnabled : bool
パブリック関数
| 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) |
パブリックスロット
| void | clearMessage() |
| void | showMessage(const QString &message, int timeout = 0) |
シグナル
| void | messageChanged(const QString &message) |
protected関数
| void | hideOrShow() |
| void | reformat() |
再実装された保護関数
| virtual bool | event(QEvent *e) override |
| virtual void | paintEvent(QPaintEvent *event) override |
| virtual void | resizeEvent(QResizeEvent *e) override |
| virtual void | showEvent(QShowEvent *) override |
詳細な説明
各ステータスインジケータは、次の3つのカテゴリのいずれかに分類されます:
- 一時的- ステータスバーの大部分を短時間占めます。たとえば、ツールチップのテキストやメニュー項目を説明するために使用されます。
- 通常- ステータスバーの一部を占め、一時的なメッセージによって隠されることがあります。たとえば、ワープロでページ番号や行番号を表示する際に使用されます。
- 常時表示- 決して非表示になりません。重要なモードの表示に使用されます。例えば、一部のアプリケーションでは、ステータスバーにCaps Lockインジケータを表示します。
QStatusBar を使用すると、これら 3 種類のインジケータをすべて表示できます。
通常、ステータスバー機能の要求は、QMainWindow オブジェクトに関連して行われます。QMainWindow は、メニューバー、ツールバー、ドックウィジェット、および中央の大きなウィジェットを取り囲むステータスバーを備えたメインアプリケーションウィンドウを提供します。ステータスバーは、QMainWindow::statusBar()関数を使用して取得し、QMainWindow::setStatusBar()関数を使用して置き換えることができます。
一時的なメッセージを表示するには、showMessage() スロットを使用します:
statusBar()->showMessage(tr("Ready"));一時的なメッセージを削除するには、clearMessage() スロットを使用するか、showMessage() を呼び出す際に時間制限を設定します。例:
statusBar()->showMessage(tr("Ready"), 2000);currentMessage() 関数を使用すると、現在表示されている一時メッセージを取得できます。また、QStatusBar クラスは、一時ステータスメッセージが変更されるたびに発火するmessageChanged() シグナルも提供しています。
通常 メッセージおよび永続メッセージは、小さなウィジェット(QLabel 、QProgressBar 、あるいはQToolButton )を作成し、addWidget() またはaddPermanentWidget() 関数を使用してステータスバーに追加することで表示されます。removeWidget() 関数を使用すると、ステータスバーからそのようなメッセージを削除できます。
statusBar()->addWidget(new MyReadWriteIndication);デフォルトでは、QStatusBarは右下隅にQSizeGrip を提供します。setSizeGripEnabled()関数を使用してこれを無効にできます。isSizeGripEnabled()関数を使用して、サイズグリップの現在の状態を確認できます。

「 QMainWindow 」および「QStatusTipEvent 」も参照してください 。
プロパティのドキュメント
sizeGripEnabled : bool
このプロパティは、ステータスバーの右下隅にあるQSizeGrip が有効になっているかどうかを示します
サイズグリップはデフォルトで有効になっています。
アクセス関数:
| bool | isSizeGripEnabled() const |
| void | setSizeGripEnabled(bool) |
メンバ関数のドキュメント
[explicit] QStatusBar::QStatusBar(QWidget *parent = nullptr)
サイズグリップと、指定されたparent を含むステータスバーを作成します。
setSizeGripEnabled()も参照してください 。
[virtual noexcept] QStatusBar::~QStatusBar()
このステータスバーを破棄し、割り当てられたリソースおよび子ウィジェットをすべて解放します。
void QStatusBar::addPermanentWidget(QWidget *widget, int stretch = 0)
指定されたwidget をこのステータスバーに永続的に追加します。そのウィジェットがまだこのQStatusBar オブジェクトの子ではない場合は、親オブジェクトを再設定します。stretch パラメータは、ステータスバーのサイズが拡大・縮小する際に、指定されたwidget に適したサイズを計算するために使用されます。デフォルトの伸縮係数は0であり、これはウィジェットに最小限のスペースを割り当てることを意味します。
「永続的」とは、ウィジェットが一時的なメッセージによって隠されないことを意味します。ステータスバーの最右端に配置されます。
insertPermanentWidget()、removeWidget()、およびaddWidget()も参照してください 。
void QStatusBar::addWidget(QWidget *widget, int stretch = 0)
指定されたwidget をこのステータスバーに追加します。ウィジェットがまだこのQStatusBar オブジェクトの子でない場合は、親オブジェクトを変更します。stretch パラメータは、ステータスバーの拡大・縮小に伴い、指定されたwidget に適したサイズを算出するために使用されます。デフォルトの伸縮率は0であり、これはウィジェットに最小限のスペースを割り当てることを意味します。
このウィジェットは、最初の永続的なウィジェットの最左端に配置され(addPermanentWidget() を参照)、一時的なメッセージによって隠される場合があります。
insertWidget()、removeWidget()、およびaddPermanentWidget()も参照してください 。
[slot] void QStatusBar::clearMessage()
表示されている一時的なメッセージをすべて削除します。
currentMessage()、showMessage()、およびremoveWidget()も参照してください 。
QString QStatusBar::currentMessage() const
現在表示されている一時的なメッセージを返します。そのようなメッセージがない場合は、空の文字列を返します。
showMessage()も参照してください 。
[override virtual protected] bool QStatusBar::event(QEvent *e)
QWidget::event(QEvent *event) を再実装します。
[protected] void QStatusBar::hideOrShow()
適切なウィジェットが表示されるようにします。
showMessage() およびclearMessage() 関数で使用されます。
int QStatusBar::insertPermanentWidget(int index, QWidget *widget, int stretch = 0)
指定されたwidget を、指定されたindex にこのステータスバーに恒久的に挿入します。ウィジェットがまだこのQStatusBar オブジェクトの子ではない場合は、親オブジェクトを変更します。index が範囲外の場合、ウィジェットは末尾に追加されます(その場合は、ウィジェットの実際のインデックスが返されます)。
stretch パラメータは、ステータスバーの拡大・縮小に伴い、指定されたwidget に適したサイズを計算するために使用されます。デフォルトの伸縮係数は0であり、つまりウィジェットに最小限のスペースを割り当てます。
「Permanently」とは、ウィジェットが一時的なメッセージによって隠されないことを意味します。ステータスバーの最右端に配置されます。
addPermanentWidget()、removeWidget()、およびaddWidget()も参照してください 。
int QStatusBar::insertWidget(int index, QWidget *widget, int stretch = 0)
指定されたwidget を、指定されたindex の位置にこのステータスバーに挿入します。ウィジェットがまだこのQStatusBar オブジェクトの子ではない場合は、親を変更します。index が範囲外の場合、ウィジェットは末尾に追加されます(その場合は、ウィジェットの実際のインデックスが返されます)。
stretch パラメータは、ステータスバーの拡大・縮小に伴い、指定されたwidget の適切なサイズを計算するために使用されます。デフォルトの伸縮係数は0であり、つまりウィジェットに最小限のスペースを割り当てます。
ウィジェットは、最初の永続的なウィジェットの最左端に配置され(addPermanentWidget() を参照)、一時的なメッセージによって隠される可能性があります。
addWidget()、removeWidget()、およびaddPermanentWidget()も参照してください 。
[signal] void QStatusBar::messageChanged(const QString &message)
このシグナルは、一時的なステータスメッセージが変更されるたびに発火します。新しい一時メッセージは、message パラメータとして渡されます。メッセージが削除された場合は、このパラメータは空文字列になります。
showMessage() およびclearMessage()も参照してください 。
[override virtual protected] void QStatusBar::paintEvent(QPaintEvent *event)
QWidget::paintEvent(QPaintEvent *event) を再実装します。
event のペイントイベントに応答して、必要に応じて一時的なメッセージを表示します。
[protected] void QStatusBar::reformat()
項目の変更に応じて、ステータスバーの外観を変更します。
特定のサブクラスではこの関数が必要になる場合がありますが、通常はジオメトリ管理によって必要な再配置は自動的に行われます。
void QStatusBar::removeWidget(QWidget *widget)
指定された「widget 」をステータスバーから削除します。
関連項目: addWidget()、addPermanentWidget()、およびclearMessage()。
[override virtual protected] void QStatusBar::resizeEvent(QResizeEvent *e)
QWidget::resizeEvent(QResizeEvent *event) を再実装します。
[override virtual protected] void QStatusBar::showEvent(QShowEvent *)
QWidget::showEvent(QShowEvent *event) を再実装します。
[slot] void QStatusBar::showMessage(const QString &message, int timeout = 0)
通常のステータス表示を非表示にし、指定されたmessage を指定されたミリ秒数だけ表示します(timeout )。timeout が0(デフォルト)の場合、message は、clearMessage()スロットが呼び出されるか、メッセージを変更するためにshowMessage()スロットが再度呼び出されるまで表示されたままになります。
timeout なお、showMessage() はツールチップテキストの一時的な説明を表示するために呼び出されるため、permanent message に 0 を渡すだけでは を表示するには不十分であることに注意してください。
messageChanged()、currentMessage()、および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.