QToolTip 类为任何 Widget 提供工具提示 (气球帮助)。 更多...
头: | #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 () |
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 富文本 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")); 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 () 函数。
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 类型 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 { QToolTip::hideText(); event->ignore(); } return true; } return QWidget::event(event); }
If you are calling QToolTip::hideText (),或 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
() 和
setFont
(). When a tooltip is currently on display,
isVisible
() 返回
true
and
text
() the currently visible text.
注意: Tool tips use the inactive color group of QPalette , because tool tips are not active windows.
另请参阅 QWidget::toolTip and QAction::toolTip .
[static]
QFont
QToolTip::
font
()
Returns the font used to render tooltips.
另请参阅 setFont ().
[static]
void
QToolTip::
hideText
()
Hides the tool tip. This is the same as calling showText () with an empty string.
另请参阅 showText ().
[static]
bool
QToolTip::
isVisible
()
返回
true
if a tooltip is currently shown.
另请参阅 showText ().
[static]
QPalette
QToolTip::
palette
()
Returns the palette used to render tooltips.
注意: Tool tips use the inactive color group of QPalette , because tool tips are not active windows.
另请参阅 setPalette ().
[static]
void
QToolTip::
setFont
(const
QFont
&
font
)
设置 font used to render tooltips.
另请参阅 font ().
[static]
void
QToolTip::
setPalette
(const
QPalette
&
palette
)
设置 palette used to render tooltips.
注意: Tool tips use the inactive color group of QPalette , because tool tips are not active windows.
另请参阅 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
。若
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.
若 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.