QToolTip Class
QToolTip クラスは、任意のウィジェットにツールヒント(バルーンヘルプ)を提供します。詳細...
ヘッダ | #include <QToolTip> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
qmake: | QT += widgets |
- 継承メンバを含む全メンバのリスト
- QToolTipはHelp Systemの一部です。
静的パブリックメンバー
QFont | font() |
void | hideText() |
bool | isVisible() |
QPalette | palette() |
void | setFont(const QFont &font) |
void | setPalette(const QPalette &palette) |
void | showText(const QPoint &pos, const QString &text, QWidget *w = nullptr, const QRect &rect = {}, int msecDisplayTime = -1) |
QString | text() |
詳細な説明
チップは、ユーザーにウィジェットの機能を思い出させる短いテキストです。指定された位置のすぐ下に、特徴的な黒と黄色の組み合わせで描画されます。ヒントには、rich text フォーマットの文字列を指定できます。
ツールチップに表示されるリッチテキストは、<p style='white-space:pre'>
で異なる指定がない限り、暗黙的にワードラップされます。
QAction を介して作成される UI 要素は、QAction の tooltip プロパティを使用するので、ほとんどのインタラクティブ UI 要素では、このプロパティを設定することがツール・チップを提供する最も簡単な方法です。
QAction *openAction = new QAction(tr("&Open...")); openAction->setToolTip(tr("Open an existing file")); fileMenu = menuBar()->addMenu(tr("&File")); fileToolBar = addToolBar(tr("&File")); fileMenu->addAction(openAction); fileToolBar->addAction(openAction);
その他のウィジェットでは、ウィジェットのツール・チップを設定する最も簡単で一般的な方法は、そのQWidget::setToolTip ()関数を呼び出すことです。
searchBar = new SearchBar; searchBar->setToolTip(tr("Search in the current document"));
また、QEvent::ToolTip 型のQHelpEvent を使用して、ウィジェットの領域ごとに異なるツール・チップを表示することもできます。ウィジェットのevent()関数でhelpイベントをインターセプトし、表示したいテキストでQToolTip::showText()を呼び出します。
bool Window::event(QEvent *event) { if (event->type() == QEvent::ToolTip) { QHelpEvent *helpEvent = static_cast<QHelpEvent *>(event); if (Element *element = elementAt(helpEvent->pos())) { QToolTip::showText(helpEvent->globalPos(), element->toolTip()); } else { QToolTip::hideText(); event->ignore(); } return true; } return QWidget::event(event); }
ToolTip-イベントの結果として、QToolTip::hideText() またはQToolTip::showText() を空の文字列で呼び出す場合は、ignore() もイベント上で呼び出して、ツールチップ固有のモードを開始したくないことを示す必要があります。
QTableWidgetItem::setToolTipアイテムビューにツールチップを表示したい場合、モデル/ビューアーキテクチャはアイテムのツールチップを設定する機能を提供します。しかし、カスタムツールチップをアイテムビューに表示したい場合は、QAbstractItemView::viewportEvent() 関数で help イベントをインターセプトし、自分で処理する必要があります。
デフォルトのツール・チップの色とフォントは、setPalette() とsetFont() でカスタマイズできます。ツール・チップが現在表示されている場合、isVisible() はtrue
を、text() は現在表示されているテキストを返します。
注: ツール・チップはアクティブ・ウィンドウではないため、ツール・チップはQPalette の非アクティブ・カラー・グループを使用します。
QWidget::toolTip およびQAction::toolTipも参照のこと 。
メンバ関数ドキュメント
[static]
QFont QToolTip::font()
ツールチップのレンダリングに使用するフォントを返します。
setFont()も参照ください 。
[static]
void QToolTip::hideText()
ツール・チップを非表示にします。これは、showText() を空文字列で呼び出すのと同じである。
showText()も参照 。
[static]
bool QToolTip::isVisible()
ツールチップが現在表示されている場合はtrue
を返す。
showText()も参照 。
[static]
QPalette QToolTip::palette()
ツールチップのレンダリングに使用されるパレットを返す。
注意: ツールチップはアクティブウィンドウではないため、ツールチップはQPalette の非アクティブカラーグループを使用します。
setPalette()も参照 。
[static]
void QToolTip::setFont(const QFont &font)
ツールチップのレンダリングに使われるfont を設定する。
font()も参照してください 。
[static]
void QToolTip::setPalette(const QPalette &palette)
ツールチップのレンダリングに使用されるpalette を設定する。
注意: ツールチップはアクティブウィンドウではないため、ツールチップはQPalette の非アクティブカラーグループを使用します。
palette()も参照してください 。
[static]
void QToolTip::showText(const QPoint &pos, const QString &text, QWidget *w = nullptr, const QRect &rect = {}, int msecDisplayTime = -1)
グローバル位置pos を注目点として、text をツールチップとして表示する。ツールチップは、この注目点からプラットフォーム固有のオフセットで表示されます。
空でない矩形を指定した場合、カーソルをこの領域から動かすとすぐにツールチップは非表示になります。
rect は、w で指定したウィジェットの座標になります。rect が空でない場合は、ウィジェットを指定する必要があります。それ以外の場合、この引数はnullptr
、マルチヘッドシステムで適切なスクリーンを決定するために使用される。
msecDisplayTime パラメータは、ツールチップの表示時間をミリ秒単位で指定する。デフォルト値の-1では、時間はテキストの長さに基づく。
text が空の場合、ツールチップは非表示になる。テキストが現在表示されているツールチップと同じ場合、ツールチップは移動しません。最初に空のテキストでチップを隠し、新しい位置に新しいチップを表示することで、強制的に移動させることができます。
[static]
QString QToolTip::text()
ツールチップが表示されている場合はツールチップテキストを、ツールチップが表示されていない場合は空文字列を返します。
© 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.