QToolTip 类
QToolTip 类提供任何小部件的工具提示(气球帮助)。更多...
头文件 | #include <QToolTip> |
CMake | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
qmake | QT += widgets |
- 所有成员列表,包括继承的成员
- QToolTip 是 帮助系统 的一部分。
静态公共成员
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() |
详细说明
提示是一个简短的文本,提醒用户小部件的功能。它以独特的黑白颜色组合在上一个位置下方绘制。提示可以是任何格式化的富文本字符串。
工具提示中显示的富文本在默认情况下自动换行,除非使用 <p style='white-space:pre'>
进行不同指定。
通过 QAction 创建的 UI 元素使用 QAction 的提示属性,因此对于大多数交互式 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() 函数中的帮助事件,并用您想要显示的文本调用 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() 函数中拦截帮助事件并自己处理。
默认工具提示颜色和字体可以使用 setPalette() 和 setFont() 进行自定义。当工具提示正在显示时,isVisible() 返回 true
,text() 返回当前可见的文本。
注意:工具提示使用 QPalette 的非活动颜色组,因为工具提示不是活动窗口。
另请参阅:QWidget::toolTip 和 QAction::toolTip。
成员函数文档
[静态]
QFont QToolTip::font()
返回用于渲染工具提示的字体。
另请参阅:setFont。
[静态]
void QToolTip::hideText()
隐藏工具提示。这等同于调用 showText() 并传入一个空字符串。
另请参阅:showText。
[静态]
bool QToolTip::isVisible()
如果当前显示工具提示,则返回 true
。
另请参阅:showText。
[静态]
QPalette QToolTip::palette()
返回用于渲染工具提示的调色板。
注意:工具提示使用 QPalette 的非活动颜色组,因为工具提示不是活动窗口。
另请参阅:setPalette。
[静态]
void QToolTip::setFont(const QFont &font)
设置用于渲染工具提示的 字体。
另请参阅:font。
[静态]
void QToolTip::setPalette(const QPalette &palette)
设置用于渲染工具提示的 调色板。
注意:工具提示使用 QPalette 的非活动颜色组,因为工具提示不是活动窗口。
另请参阅:palette。
[静态]
void QToolTip::showText(const QPoint &pos, const QString &text, QWidget *w = nullptr, const QRect &rect = {}, int msecDisplayTime = -1)
将 文本 显示为工具提示,将全局位置 pos 作为焦点点。工具提示将以从该焦点点出发的平台特定偏移显示。
如果您指定一个非空矩形,则当您将光标移出该区域时,提示将隐藏。
矩形 位于您用 w 指定的窗口坐标中。如果 矩形 不为空,则必须指定一个窗口。否则,此参数可以是 nullptr
,但在多显示器系统上用于确定适当的屏幕。
msecDisplayTime参数指定工具提示显示的时间长度(以毫秒为单位)。默认值为-1时,时间基于文本长度。
如果text为空,则工具提示将隐藏。如果文本与当前显示的工具提示相同,则工具提示将不会移动。您可以通过首先使用空文本隐藏工具提示,然后在新位置显示新的工具提示来强制移动。
[静态]
QString QToolTip::text()
返回工具提示文本,如果有可视工具提示则返回,如果没有则返回空字符串。
© 2024 Qt公司。本文件中包含的文档贡献享有各自所有者的版权。提供给本文件的文档按照