PySide6.QtWidgets.QToolTip

class QToolTip

QToolTip 类为任何小部件提供工具提示(气球帮助)。更多

概要

静态函数

注意

本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。

详细描述

警告

本节包含从C++自动翻译到Python的代码片段,可能包含错误。

提示是一段简短的文本,用于提醒用户小部件的功能。它以独特的黑底黄字颜色组合在给定位置下方立即绘制。提示可以是任何富文本 格式的字符串。

除非使用 style='white-space:pre'>指定不同的方式,否则工具提示中显示的富文本会隐式换行。

通过QAction创建的UI元素使用QAction的tooltip属性,因此对于大多数交互式UI元素,设置该属性是提供工具提示的最简单方法。

openAction = 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)

对于任何其他小部件,设置小部件工具提示的最简单和最常见的方法是调用其setToolTip()函数。

searchBar = SearchBar()
searchBar.setToolTip(tr("Search in the current document"))

也可以通过使用类型为QEvent::ToolTip的QHelpEvent来为小部件的不同区域显示不同的工具提示。在你的小部件的event()函数中拦截帮助事件,并使用你想要显示的文本调用showText()

def event(self, QEvent event):

    if event.type() == QEvent.ToolTip:
        helpEvent = 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)

如果你正在调用hideText(),或者showText()并传入一个空字符串,作为ToolTip事件的结果,你也应该在事件上调用ignore(),以表示你不想启动任何工具提示特定的模式。

请注意,如果你想在项目视图中显示工具提示,模型/视图架构提供了设置项目工具提示的功能;例如,setToolTip() 函数。然而,如果你想在项目视图中提供自定义工具提示,你必须在 viewportEvent() 函数中拦截帮助事件并自行处理。

默认的工具提示颜色和字体可以通过setPalette()setFont()进行自定义。当工具提示当前显示时,isVisible()返回true,并且text()返回当前可见的文本。

注意

工具提示使用QPalette的非活动颜色组,因为工具提示不是活动窗口。

另请参阅

toolTip toolTip

static font()
Return type:

QFont

返回用于渲染工具提示的字体。

另请参阅

setFont()

static hideText()

隐藏工具提示。这与使用空字符串调用showText()相同。

另请参阅

showText()

static isVisible()
Return type:

布尔

如果当前显示工具提示,则返回 true

另请参阅

showText()

static palette()
Return type:

QPalette

返回用于渲染工具提示的调色板。

注意

工具提示使用QPalette的非活动颜色组,因为工具提示不是活动窗口。

另请参阅

setPalette()

static setFont(font)
Parameters:

字体QFont

设置用于渲染工具提示的font

另请参阅

font()

static setPalette(palette)
Parameters:

调色板QPalette

设置用于渲染工具提示的palette

注意

工具提示使用QPalette的非活动颜色组,因为工具提示不是活动窗口。

另请参阅

palette()

static showText(pos, text[, w=None[, rect={}[, msecShowTime=-1]]])
Parameters:

显示text作为工具提示,全局位置pos作为关注点。工具提示将从此关注点以平台特定的偏移量显示。

如果您指定了一个非空矩形,一旦您将光标移出此区域,提示将立即隐藏。

rect 位于您使用 w 指定的小部件的坐标中。如果 rect 不为空,则必须指定一个小部件。否则,此参数可以为 None,但它用于在多头系统上确定适当的屏幕。

msecDisplayTime 参数指定工具提示将显示多长时间,以毫秒为单位。默认值为 -1,时间基于文本的长度。

如果 text 为空,则工具提示将被隐藏。如果文本与当前显示的工具提示相同,提示将不会移动。您可以通过首先使用空文本隐藏提示,然后在新位置显示新提示来强制移动。

static text()
Return type:

字符串

如果工具提示可见,则返回工具提示文本;如果工具提示不可见,则返回空字符串。