PySide6.QtWidgets.QWhatsThis

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。

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

另请参阅

QToolTip

static createAction([parent=None])
Parameters:

父对象QObject

Return type:

QAction

返回一个现成的QAction,用于调用“这是什么?”上下文帮助,带有给定的parent

返回的 QAction 提供了一种便捷的方式,让用户进入“这是什么?”模式。

static enterWhatsThisMode()

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

当进入“这是什么?”模式时,类型为 Qt::EnterWhatsThisMode 的 QEvent 会被发送到所有顶层小部件。

static hideText()

如果显示“这是什么?”窗口,这将销毁它。

另请参阅

showText()

static inWhatsThisMode()
Return type:

布尔

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

另请参阅

enterWhatsThisMode()

static leaveWhatsThisMode()

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

当退出“这是什么?”模式时,类型为 Qt::LeaveWhatsThisMode 的 QEvent 会被发送到所有顶层小部件。

static showText(pos, text[, w=None])
Parameters:

text 显示为“这是什么?”窗口,位于全局位置 pos。可选的小部件参数 w 用于在多头系统中确定适当的屏幕。

另请参阅

hideText()