class QWhatsThis#

QWhatsThis 类提供了任何小部件的简单描述,即回答“这是什么?”的问题。 更多

概述#

静态函数#

注意

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

详细描述#

警告

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

“这是什么?”帮助是应用程序在线帮助系统的一部分,为用户提供有关特定小部件功能和使用的相关信息。“这是什么?”帮助文本通常比工具提示更长和更详细,但通常提供的信息比单独的帮助窗口少。

QWhatsThis提供单个窗口,当用户提问“这是什么?”时会弹出解释文本。用户询问问题的默认方式是将焦点移动到相关小部件并按Shift+F1。帮助文本会立即出现;当用户做其他事情时它会消失。(注意,如果Shift+F1有快捷键,此机制将不起作用。)一些对话框提供了一个用户可以点击以进入“这是什么?”模式的“?”按钮;然后他们点击相关小部件以弹出“这是什么?”窗口。还可以提供菜单选项或工具栏按钮以切换到“这是什么?”模式。

要将“这是什么?”文本添加到小部件或动作中,您只需调用setWhatsThis()或QAction::setWhatsThis()。

文本可以是富文本或纯文本。如果您指定了一个富文本格式化字符串,它将使用默认样式表进行渲染,使得可以在显示文本中嵌入图像。为了尽可能快地渲染文本,默认样式表使用一种简单的方法来确定文本是否可以渲染为纯文本。有关详细信息,请参阅Qt::mightBeRichText()。

newAct = QAction(tr("New"), self)
newAct.setShortcut(tr("Ctrl+N"))
newAct.setStatusTip(tr("Create a file()"))
newAct.setWhatsThis(tr("Click self option to create a file()."))

进入“这是什么?”模式的一种替代方法是调用createAction(),并将返回的QAction添加到菜单或工具栏中。通过调用此上下文帮助动作(如图中带有箭头和问号图标的按钮),用户切换到“这是什么?”模式。如果他们现在点击一个小部件,则会显示适当的帮助文本。当给出帮助或用户按下Esc键时,模式会结束。

../../_images/whatsthis.png

您可以使用enterWhatsThisMode()以程序方式进入“这是什么?”模式,使用inWhatsThisMode()检查模式,并使用leaveWhatsThisMode()返回正常模式。

如果您想手动控制小部件的“这是什么?”行为,请参阅Qt::WA_CustomWhatsThis。

还可以通过使用QHelpEvent类型的QEvent::WhatsThis,在不同的widget区域显示不同的帮助文本。在您的widget的event()函数中截获帮助事件,并使用showText()方法并传递为您想在QHelpEvent::pos()指定的位置显示的文本。如果文本是富文本且用户点击了链接,widget还将接收一个含有链接引用的QWhatsThisClickedEvent。如果处理了QWhatsThisClickedEvent(即event()返回true),则帮助窗口将保持可见。调用hideText()显式隐藏它。

参见

QToolTip

静态 createAction([parent=None])#
参数:

parent - QObject

返回类型:

QAction

返回一个准备就绪的可用QAction,用于调用带有给定parent的“这是什么?”上下文帮助。

返回的QAction提供了一个方便的方式来使用户进入“这是什么?”模式。

静态 enterWhatsThisMode()#

此函数将用户界面切换到“这是什么?”模式。用户可以通过(例如,点击或按Esc)或通过调用leaveWhatsThisMode()以编程方式将其切换回正常模式。

在进入“这是什么?”模式时,会将类型为Qt::EnterWhatsThisMode的QEvent发送到所有顶级widget。

静态 hideText()#

如果当前显示“这是什么?”窗口,则将其销毁。

参见

showText()

静态 inWhatsThisMode()#
返回类型:

bool

如果用户界面处于“这是什么?”模式,则返回true,否则返回false

静态 leaveWhatsThisMode()#

如果用户界面处于“这是什么?”模式,则此函数将切换回正常模式;否则不执行任何操作。

当离开“这是什么?”模式时,会向所有顶层窗口发送一个 Qt::LeaveWhatsThisMode 类型的 QEvent。

static showText(pos, text[, w=None])#
参数:

在全局位置 pos 以“这是什么?”窗口显示 text。可选窗口参数 w 用于确定在多显示器系统上的适当屏幕。

参见

hideText()