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は、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も参照して ください。
プロパティ 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()、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.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。