QToolTip Class

QToolTip クラスは、任意のウィジェットにツールヒント(バルーンヘルプ)を提供します。詳細...

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

静的パブリックメンバ

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()

ツールチップが表示されている場合はツールチップテキストを、表示されていない場合は空の文字列を返します。

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