QToolTip Class
QToolTip クラスは、あらゆるウィジェットに対してツールチップ(バルーンヘルプ)を提供します。詳細...
| ヘッダー: | #include <QToolTip> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
| qmake: | QT += widgets |
- 継承されたメンバーを含むすべてのメンバーの一覧
- QToolTipはヘルプシステムの一部です。
静的パブリックメンバー
| 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) {
auto *helpEvent = static_cast<QHelpEvent *>(event);
if (Element *element = elementAt(helpEvent->pos())) {
QToolTip::showText(helpEvent->globalPos(), element->toolTip(), this);
} 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)
ツールチップとして「text 」を表示し、注目点としてグローバル位置「pos 」を設定します。ツールチップは、この注目点からプラットフォーム固有のオフセット分だけずれた位置に表示されます。
空でない矩形を指定した場合、カーソルがこの領域の外に出るとすぐにツールチップは非表示になります。
rect は、w で指定したウィジェットの座標系に基づいています。rect が空でない場合は、ウィジェットを指定する必要があります。そうでない場合、この引数は `nullptr ` に設定できますが、マルチヘッドシステムでは適切な画面を決定するために使用されます。
msecDisplayTime パラメータは、ツールチップの表示時間をミリ秒単位で指定します。デフォルト値の-1の場合、表示時間はテキストの長さに基づいて決定されます。
text が空の場合、ツールチップは非表示になります。テキストが現在表示されているツールチップと同じ場合、ツールチップは移動しません。まず空のテキストでツールチップを非表示にし、その後新しい位置で新しいツールチップを表示することで、強制的に移動させることができます。
[static] QString QToolTip::text()
ツールチップが表示されている場合はそのテキストを返し、表示されていない場合は空の文字列を返します。
© 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.