QToolTip Class

The QToolTip class provides tool tips (balloon help) for any widget. More...

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

Static Public Members

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

Detailed Description

The tip is a short piece of text reminding the user of the widget's function. It is drawn immediately below the given position in a distinctive black-on-yellow color combination. The tip can be any rich text formatted string.

Rich text displayed in a tool tip is implicitly word-wrapped unless specified differently with <p style='white-space:pre'>.

UI elements that are created via QAction use the tooltip property of the QAction, so for most interactive UI elements, setting that property is the easiest way to provide tool tips.

    QAction *openAction = new QAction(tr("&Open..."));
    openAction->setToolTip(tr("Open an existing file"));

    fileMenu = menuBar()->addMenu(tr("&File"));
    fileToolBar = addToolBar(tr("&File"));


For any other widgets, the simplest and most common way to set a widget's tool tip is by calling its QWidget::setToolTip() function.

    searchBar = new SearchBar;
    searchBar->setToolTip(tr("Search in the current document"));

It is also possible to show different tool tips for different regions of a widget, by using a QHelpEvent of type QEvent::ToolTip. Intercept the help event in your widget's event() function and call QToolTip::showText() with the text you want to display.

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 {

        return true;
    return QWidget::event(event);

If you are calling QToolTip::hideText(), or QToolTip::showText() with an empty string, as a result of a ToolTip-event you should also call ignore() on the event, to signal that you don't want to start any tooltip specific modes.

Note that, if you want to show tooltips in an item view, the model/view architecture provides functionality to set an item's tool tip; e.g., the QTableWidgetItem::setToolTip() function. However, if you want to provide custom tool tips in an item view, you must intercept the help event in the QAbstractItemView::viewportEvent() function and handle it yourself.

The default tool tip color and font can be customized with setPalette() and setFont(). When a tooltip is currently on display, isVisible() returns true and text() the currently visible text.

Note: Tool tips use the inactive color group of QPalette, because tool tips are not active windows.

See also QWidget::toolTip and QAction::toolTip.

Member Function Documentation

[static] QFont QToolTip::font()

Returns the font used to render tooltips.

See also setFont().

[static] void QToolTip::hideText()

Hides the tool tip. This is the same as calling showText() with an empty string.

See also showText().

[static] bool QToolTip::isVisible()

Returns true if a tooltip is currently shown.

See also showText().

[static] QPalette QToolTip::palette()

Returns the palette used to render tooltips.

Note: Tool tips use the inactive color group of QPalette, because tool tips are not active windows.

See also setPalette().

[static] void QToolTip::setFont(const QFont &font)

Sets the font used to render tooltips.

See also font().

[static] void QToolTip::setPalette(const QPalette &palette)

Sets the palette used to render tooltips.

Note: Tool tips use the inactive color group of QPalette, because tool tips are not active windows.

See also palette().

[static] void QToolTip::showText(const QPoint &pos, const QString &text, QWidget *w = nullptr, const QRect &rect = {}, int msecDisplayTime = -1)

Shows text as a tool tip, with the global position pos as the point of interest. The tool tip will be shown with a platform specific offset from this point of interest.

If you specify a non-empty rect the tip will be hidden as soon as you move your cursor out of this area.

The rect is in the coordinates of the widget you specify with w. If the rect is not empty you must specify a widget. Otherwise this argument can be nullptr but it is used to determine the appropriate screen on multi-head systems.

The msecDisplayTime parameter specifies for how long the tool tip will be displayed, in milliseconds. With the default value of -1, the time is based on the length of the text.

If text is empty the tool tip is hidden. If the text is the same as the currently shown tooltip, the tip will not move. You can force moving by first hiding the tip with an empty text, and then showing the new tip at the new position.

[static] QString QToolTip::text()

Returns the tooltip text, if a tooltip is visible, or an empty string if a tooltip is not visible.

© 2024 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.