QStatusBar Class

QStatusBarクラスは、ステータス情報を表示するのに適した水平バーを提供します。詳細...

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

プロパティ

パブリック関数

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() シグナルも提供しています。このシグナルは、一時的なステータス・メッセージが変更されるたびに発行されます。

ノーマル・メッセージとパーマネント・メッセージは、小さなウィジェット (QLabelQProgressBar 、またはQToolButton) を作成し、addWidget() またはaddPermanentWidget() 関数を使用してステータス・バーに追加することで表示されます。このようなメッセージをステータス・バーから削除するには、removeWidget() 関数を使用します。

statusBar()->addWidget(new MyReadWriteIndication);

デフォルトでは、QStatusBar は右下隅にQSizeGrip を表示します。これを無効にするには、setSizeGripEnabled() 関数を使用します。isSizeGripEnabled() 関数を使用して、サイズ・グリップの現在のステータスを確認します。

A status bar shown in the Fusion widget style

QMainWindow およびQStatusTipEventも参照して ください。

プロパティ Documentation

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)

指定されたwidget を指定されたindex にこのステータスバーに挿入し、ウィジェットがまだこの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() とshow() の両方の関数を呼び出す必要があります。

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)

通常のステータス表示を非表示にし、指定されたミリ秒数(timeout )の間、指定されたmessage を表示する。timeout が 0 (デフォルト) の場合、clearMessage() スロットが呼び出されるか、メッセージを変更するために showMessage() スロットが再度呼び出されるまで、message は表示されたままになります。

showMessage()は、ツール・チップ・テキストの一時的な説明を表示するために呼び出されるので、permanent message を表示するには、timeout に 0 を渡すだけでは不十分であることに注意してください。

messageChanged(),currentMessage(),clearMessage()も参照してください

本書に含まれる文書の著作権は、それぞれの所有者に帰属します 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。