Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
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 546 of file qtooltip.cpp.

◆ hideText()

static 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.

◆ isVisible()

bool QToolTip::isVisible ( )
static
Since
4.4

Returns true if a tooltip is currently shown.

See also
showText()

Definition at line 509 of file qtooltip.cpp.

◆ 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 536 of file qtooltip.cpp.

◆ setFont()

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

Sets the font used to render tooltips.

Definition at line 571 of file qtooltip.cpp.

◆ 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 559 of file qtooltip.cpp.

◆ 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 440 of file qtooltip.cpp.

◆ 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 520 of file qtooltip.cpp.


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