Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
QToolTip Class Reference

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

#include <qtooltip.h>

+ Collaboration diagram for QToolTip:

Static Public Member Functions

static void showText (const QPoint &pos, const QString &text, QWidget *w=nullptr, const QRect &rect={}, int msecShowTime=-1)
 Shows text as a tool tip, with the global position pos as the point of interest.
 
static void hideText ()
 
static bool isVisible ()
 
static QString text ()
 
static QPalette palette ()
 Returns the palette used to render tooltips.
 
static void setPalette (const QPalette &)
 
static QFont font ()
 
static void setFont (const QFont &)
 

Detailed Description

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

\inmodule QtWidgets

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 \l{QTextEdit}{rich text} formatted string.

Rich text displayed in a tool tip is implicitly word-wrapped unless specified differently with {

}.

UI elements that are created via \l{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"));
fileMenu->addAction(openAction);
fileToolBar->addAction(openAction);

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 \l {QWidget::}{event()} function and call QToolTip::showText() with the text you want to display.

{
if (event->type() == QEvent::ToolTip) {
QHelpEvent *helpEvent = static_cast<QHelpEvent *>(event);
if (Element *element = elementAt(helpEvent->pos())) {
QToolTip::showText(helpEvent->globalPos(), element->toolTip());
} else {
event->ignore();
}
return true;
}
}

If you are calling QToolTip::hideText(), or QToolTip::showText() with an empty string, as a result of a \l{QEvent::}{ToolTip}-event you should also call \l{QEvent::}{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, QAction::toolTip

Definition at line 13 of file qtooltip.h.

Member Function Documentation

◆ font()

QFont QToolTip::font ( )
static
Since
4.2

Returns the font used to render tooltips.

Definition at line 545 of file qtooltip.cpp.

References QApplication::font().

Referenced by setFont().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ hideText()

void QToolTip::hideText ( )
inlinestatic
Since
4.2

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

See also
showText()

Definition at line 19 of file qtooltip.h.

Referenced by QMenu::event(), Window::event(), and QGraphicsScenePrivate::leaveScene().

+ Here is the caller graph for this function:

◆ isVisible()

bool QToolTip::isVisible ( )
static
Since
4.4

Returns true if a tooltip is currently shown.

See also
showText()

Definition at line 508 of file qtooltip.cpp.

References QTipLabel::instance, and isVisible().

Referenced by isVisible(), and showText().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ palette()

QPalette QToolTip::palette ( )
static

Returns the palette used to render tooltips.

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

Definition at line 535 of file qtooltip.cpp.

Referenced by QTipLabel::QTipLabel(), and setPalette().

+ Here is the caller graph for this function:

◆ setFont()

void QToolTip::setFont ( const QFont & font)
static
Since
4.2

Sets the font used to render tooltips.

Definition at line 570 of file qtooltip.cpp.

References font(), and QApplication::setFont().

+ Here is the call graph for this function:

◆ setPalette()

void QToolTip::setPalette ( const QPalette & palette)
static
Since
4.2

Sets the palette used to render tooltips.

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

Definition at line 558 of file qtooltip.cpp.

References QTipLabel::instance, and palette().

Referenced by qt_init_tooltip_palette().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ showText()

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

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.

Definition at line 439 of file qtooltip.cpp.

References QWidgetPrivate::get(), QTipLabel::getTipScreen(), QTipLabel::instance, QApplication::isEffectEnabled(), isVisible(), pos, Q_UNUSED, qFadeEffect(), qScrollEffect(), rect, text(), Qt::UI_AnimateTooltip, and Qt::UI_FadeTooltip.

Referenced by QMenu::event(), QTabBar::event(), Window::event(), QWidget::event(), QGraphicsScene::helpEvent(), QAbstractItemDelegate::helpEvent(), and QHeaderView::viewportEvent().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ text()

QString QToolTip::text ( )
static
Since
4.4

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

Definition at line 519 of file qtooltip.cpp.

References QTipLabel::instance.

Referenced by showText().

+ Here is the caller graph for this function:

The documentation for this class was generated from the following files: