QStatusBar Class
QStatusBarクラスは、ステータス情報を表示するのに適した水平バーを提供します。詳細...
ヘッダー | #include <QStatusBar> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
qmake: | QT += widgets |
継承: | QWidget |
- 継承メンバを含む全メンバのリスト
- QStatusBarはHelp Systemの一部です。
プロパティ
- 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) |
保護された関数
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つのカテゴリのうちの1つに分類される:
- 一時的- ステータスバーの大部分を一時的に占める。例えば、ツールチップのテキストやメニューエントリを説明するために使用されます。
- 通常- ステータスバーの一部を占め、一時的なメッセージで隠れることがある。ワープロでページ番号や行番号を表示するときなどに使用する。
- Permanent- 決して隠れない。例えば、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、つまりウィジェットに最小のスペースを与えます。
Permanentlyは、ウィジェットが一時的なメッセージによって隠されないことを意味します。ウィジェットはステータスバーの右端に配置されます。
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)
指定されたindex に指定されたwidget をこのステータスバーに永続的に挿入し、ウィジェットがまだこのQStatusBar オブジェクトの子でなければ、ウィジェットを再保護します。index が範囲外の場合、ウィジェットは追加されます(この場合、返されるのはウィジェットの実際のインデックスです)。
stretch パラメータは、ステータス・バーが伸縮する際に、与えられたwidget の適切なサイズを計算するために使用される。デフォルトのストレッチファクターは0、つまりウィジェットに最小のスペースを与える。
Permanentlyは、ウィジェットが一時的なメッセージによって隠されないことを意味します。ウィジェットはステータスバーの右端に配置されます。
addPermanentWidget(),removeWidget(),addWidget()も参照のこと 。
int QStatusBar::insertWidget(int index, QWidget *widget, int stretch = 0)
指定されたindex に指定されたwidget をこのステータスバーに挿入し、ウィジェットがまだこのQStatusBar オブジェクトの子でない場合は、ウィジェットを再保護します。index が範囲外の場合、ウィジェットが追加されます(この場合、返されるのはウィジェットの実際のインデックスです)。
stretch パラメータは、ステータス・バーが伸縮する際に、与えられたwidget の適切なサイズを計算するために使用される。デフォルトのストレッチファクターは0、つまりウィジェットに最小のスペースを与える。
ウィジェットは、最初のパーマネント・ウィジェット(addPermanentWidget()を参照)の左端に配置され、一時的なメッセージによって隠されることがあります。
addWidget()、removeWidget()、addPermanentWidget()も 参照のこと。
[signal]
void QStatusBar::messageChanged(const QString &message)
このシグナルは、一時的なステータス・メッセージが変更されるたびに発せられる。新しいテンポラリ・メッセージはmessage パラメータに渡され、メッセージが削除された場合は NULL 文字列となる。
showMessage() およびclearMessage()も参照の こと。
[override virtual protected]
void QStatusBar::paintEvent(QPaintEvent *event)
再実装:QWidget::paintEvent(QPaintEvent *event)。
paintevent に応答する一時的なメッセージを表示します。
[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 (デフォルト) の場合、clearMessage() スロットが呼び出されるか、メッセージを変更するために showMessage() スロットが再度呼び出されるまで、message は表示されたままになる。
showMessage()は、ツール・チップ・テキストの一時的な説明を表示するために呼び出されるので、timeout に 0 を渡しても、permanent message を表示するには不十分であることに注意してください。
messageChanged()、currentMessage()、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.