QWhatsThis 类
The QWhatsThis 类为任何小部件提供了一个简单的描述,即回答“这是什么?”的问题。 更多...
头文件 | #include <QWhatsThis> |
CMake | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
qmake | QT += widgets |
- 所有成员列表,包括继承的成员
- QWhatsThis 是 帮助系统 的一部分。
静态公有成员
QAction * | createAction(QObject *parent = nullptr) |
void | enterWhatsThisMode() |
void | hideText() |
bool | inWhatsThisMode() |
void | leaveWhatsThisMode() |
void | showText(const QPoint &pos, const QString &text, QWidget *w = nullptr) |
详细描述
"这是什么?" 帮助是应用程序联机帮助系统的一部分,为用户提供有关特定小部件的功能和使用信息。"这是什么?" 帮助文本通常比 工具提示 长且更详细,但通常提供的信息少于单独的帮助窗口。
QWhatsThis 在用户询问“这是什么?”时弹出一个带有解释文本的单个窗口。用户询问问题的默认方式是将焦点移动到相关小部件并按 Shift+F1。帮助文本立即出现;用户做其他事情时就会消失。(注意,如果存在 Shift+F1 的快捷键,此机制将不起作用。)某些对话框提供了一个用户可以点击以进入“这是什么?”模式的“?”按钮;然后他们点击相关的小部件以弹出“这是什么?”窗口。还可以提供一个菜单选项或工具栏按钮来切换到“这是什么?”模式。
要将“这是什么?”文本添加到小部件或操作中,只需调用 QWidget::setWhatsThis() 或 QAction::setWhatsThis()。
文本可以是富文本或纯文本。如果您指定了富文本格式的字符串,将使用默认样式表进行呈现,这样就可以在显示的文本中嵌入图像。为了尽可能快地呈现,默认样式表使用简单的方法来确定文本是否可以呈现为纯文本。有关详细信息,请参阅 Qt::mightBeRichText()。
newAct = new QAction(tr("&New"), this); newAct->setShortcut(tr("Ctrl+N")); newAct->setStatusTip(tr("Create a new file")); newAct->setWhatsThis(tr("Click this option to create a new file."));
进入“这是什么?”模式的另一种方法是调用 createAction(),并将返回的 QAction 添加到菜单或工具栏中。通过调用此上下文帮助操作(如图中带有箭头和问号图标的按钮),用户进入“这是什么?”模式。如果他们现在点击小部件,将显示相应的帮助文本。当给出帮助或用户按 Esc 时,退出模式。
您可以使用 enterWhatsThisMode() 函数以编程方式进入“这是什么?”模式,使用 inWhatsThisMode() 检查模式,以及使用 leaveWhatsThisMode() 返回正常模式。
如果您想手动控制小部件的“这是什么?”行为,请参阅 Qt::WA_CustomWhatsThis。
还可以通过使用类型为 QEvent::WhatsThis 的 QHelpEvent 为小部件的不同区域显示不同的帮助文本。在您的 widget 的 QWidget::event() 函数中拦截帮助事件,并以在 QHelpEvent::pos 中指定的位置显示的文本调用 QWhatsThis::showText()。如果文本是富文本并且用户点击了链接,widget 还会接收到带有链接引用作为 QWhatsThisClickedEvent::href 的 QWhatsThisClickedEvent。如果处理了 QWhatsThisClickedEvent(即 QWidget::event() 返回 true),则帮助窗口保持可见。调用 QWhatsThis::hideText() 以显式地隐藏它。
另请参阅:QToolTip。
成员函数文档
[静态]
QAction *QWhatsThis::createAction(QObject *parent = nullptr)
该方法返回一个已准备好用于调用带给定 parent 的“这是什么?”上下文帮助的 QAction。
返回的 QAction 提供了一种方便方式,让用户切换到“这是什么?”模式。
[静态]
void QWhatsThis::enterWhatsThisMode()
此函数将用户界面切换到“这是什么?”模式。用户可以通过(例如,通过点击或按下 Esc)或通过调用 leaveWhatsThisMode() 以编程方式切换回正常模式。
当进入“这是什么?”模式时,向所有顶级 widget 发送类型为 Qt::EnterWhatsThisMode 的 QEvent。
另请参阅:inWhatsThisMode() 和 leaveWhatsThisMode()。
[静态]
void QWhatsThis::hideText()
如果显示了一个“这是什么?”窗口,则此函数将销毁它。
另请参阅:showText()。
[静态]
bool QWhatsThis::inWhatsThisMode()
如果用户界面处于“这是什么?”模式,则返回 true
;否则返回 false
。
另请参阅:enterWhatsThisMode()。
[静态]
void QWhatsThis::leaveWhatsThisMode()
如果用户界面处于“这是什么?”模式,则此函数将切换回正常模式;否则不进行任何操作。
当退出“这是什么?”模式时,将向所有顶级 widget 发送类型为 Qt::LeaveWhatsThisMode 的 QEvent。
另请参阅:enterWhatsThisMode() 和 inWhatsThisMode()。
[静态]
void QWhatsThis::showText(const QPoint &pos, const QString &text, QWidget *w = nullptr)
在全局位置pos显示《这是什么?》窗口中的文本。可选的小部件参数w用于确定在多头系统上适当的屏幕。
另请参阅hideText().
© 2024 The Qt Company Ltd. 本文档中包含的文档贡献均为各自版权所有者的版权。本提供的文档按GNU自由文档许可版本1.3的条款发布,该许可由自由软件基金会发布。Qt及相关标志是芬兰和/或全世界The Qt Company Ltd.的商标。所有其他商标均为各自所有者的财产。