Qt 4.8
Static Public Functions | Private Functions | List of all members
QWhatsThis Class Reference

The QWhatsThis class provides a simple description of any widget, i.e. More...

#include <qwhatsthis.h>

Static Public Functions

static QActioncreateAction (QObject *parent=0)
 Returns a ready-made QAction, used to invoke "What's This?" context help, with the given parent. More...
 
static void enterWhatsThisMode ()
 This function switches the user interface into "What's This?" mode. More...
 
static void hideText ()
 If a "What's This?" window is showing, this destroys it. More...
 
static bool inWhatsThisMode ()
 Returns true if the user interface is in "What's This?" mode; otherwise returns false. More...
 
static void leaveWhatsThisMode ()
 If the user interface is in "What's This?" mode, this function switches back to normal mode; otherwise it does nothing. More...
 
static void showText (const QPoint &pos, const QString &text, QWidget *w=0)
 Shows text as a "What's This?" window, at global position pos. More...
 

Private Functions

 QWhatsThis ()
 

Detailed Description

The QWhatsThis class provides a simple description of any widget, i.e.

answering the question "What's This?".

"What's This?" help is part of an application's online help system, and provides users with information about the functionality and usage of a particular widget. "What's This?" help texts are typically longer and more detailed than tooltips, but generally provide less information than that supplied by separate help windows.

QWhatsThis provides a single window with an explanatory text that pops up when the user asks "What's This?". The default way for users to ask the question is to move the focus to the relevant widget and press Shift+F1. The help text appears immediately; it goes away as soon as the user does something else. (Note that if there is a shortcut for Shift+F1, this mechanism will not work.) Some dialogs provide a "?" button that users can click to enter "What's This?" mode; they then click the relevant widget to pop up the "What's This?" window. It is also possible to provide a a menu option or toolbar button to switch into "What's This?" mode.

To add "What's This?" text to a widget or an action, you simply call QWidget::setWhatsThis() or QAction::setWhatsThis().

The text can be either rich text or plain text. If you specify a rich text formatted string, it will be rendered using the default stylesheet, making it possible to embed images in the displayed text. To be as fast as possible, the default stylesheet uses a simple method to determine whether the text can be rendered as plain text. See Qt::mightBeRichText() for details.

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."));

An alternative way to enter "What's This?" mode is to call createAction(), and add the returned QAction to either a menu or a tool bar. By invoking this context help action (in the picture below, the button with the arrow and question mark icon) the user switches into "What's This?" mode. If they now click on a widget the appropriate help text is shown. The mode is left when help is given or when the user presses Esc.

whatsthis.png

You can enter "What's This?" mode programmatically with enterWhatsThisMode(), check the mode with inWhatsThisMode(), and return to normal mode with leaveWhatsThisMode().

If you want to control the "What's This?" behavior of a widget manually see Qt::WA_CustomWhatsThis.

It is also possible to show different help texts for different regions of a widget, by using a QHelpEvent of type QEvent::WhatsThis. Intercept the help event in your widget's QWidget::event() function and call QWhatsThis::showText() with the text you want to display for the position specified in QHelpEvent::pos(). If the text is rich text and the user clicks on a link, the widget also receives a QWhatsThisClickedEvent with the link's reference as QWhatsThisClickedEvent::href(). If a QWhatsThisClickedEvent is handled (i.e. QWidget::event() returns true), the help window remains visible. Call QWhatsThis::hideText() to hide it explicitly.

See also
QToolTip

Definition at line 61 of file qwhatsthis.h.

Constructors and Destructors

◆ QWhatsThis()

QWhatsThis::QWhatsThis ( )
private

Definition at line 551 of file qwhatsthis.cpp.

552 {
553 }

Functions

◆ createAction()

QAction * QWhatsThis::createAction ( QObject parent = 0)
static

Returns a ready-made QAction, used to invoke "What's This?" context help, with the given parent.

The returned QAction provides a convenient way to let users enter "What's This?" mode.

Definition at line 777 of file qwhatsthis.cpp.

778 {
779  return new QWhatsThisAction(parent);
780 }

◆ enterWhatsThisMode()

void QWhatsThis::enterWhatsThisMode ( )
static

This function switches the user interface into "What's This?" mode.

The user interface can be switched back into normal mode by the user (e.g. by them clicking or pressing Esc), or programmatically by calling leaveWhatsThisMode().

When entering "What's This?" mode, a QEvent of type Qt::EnterWhatsThisMode is sent to all toplevel widgets.

See also
inWhatsThisMode() leaveWhatsThisMode()

Definition at line 633 of file qwhatsthis.cpp.

Referenced by QWhatsThisAction::actionTriggered(), QAxClientSite::ContextSensitiveHelp(), QAxServerBase::ContextSensitiveHelp(), QMenu::keyPressEvent(), QMdiSubWindowPrivate::processClickedSubControl(), QtWndProc(), QWhatsThis(), QDecoration::regionClicked(), and QApplication::x11ClientMessage().

634 {
636  return;
637  (void) new QWhatsThisPrivate;
640  }
static void notifyToplevels(QEvent *e)
Definition: qwhatsthis.cpp:404
static QWhatsThisPrivate * instance
Definition: qwhatsthis.cpp:393
The QEvent class is the base class of all event classes.
Definition: qcoreevent.h:56

◆ hideText()

void QWhatsThis::hideText ( )
static

If a "What's This?" window is showing, this destroys it.

See also
showText()

Definition at line 765 of file qwhatsthis.cpp.

766 {
768 }
Q_CORE_EXPORT void qDeleteInEventHandler(QObject *o)
Definition: qobject.cpp:4348
static QWhatsThat * instance
Definition: qwhatsthis.cpp:159

◆ inWhatsThisMode()

bool QWhatsThis::inWhatsThisMode ( )
static

Returns true if the user interface is in "What's This?" mode; otherwise returns false.

See also
enterWhatsThisMode()

Definition at line 648 of file qwhatsthis.cpp.

Referenced by QMenuPrivate::activateAction(), QDialog::closeEvent(), QShortcut::event(), QMenuBar::mousePressEvent(), and QDecoration::regionClicked().

649 {
650  return (QWhatsThisPrivate::instance != 0);
651 }
static QWhatsThisPrivate * instance
Definition: qwhatsthis.cpp:393

◆ leaveWhatsThisMode()

void QWhatsThis::leaveWhatsThisMode ( )
static

If the user interface is in "What's This?" mode, this function switches back to normal mode; otherwise it does nothing.

When leaving "What's This?" mode, a QEvent of type Qt::LeaveWhatsThisMode is sent to all toplevel widgets.

See also
enterWhatsThisMode() inWhatsThisMode()

Definition at line 662 of file qwhatsthis.cpp.

Referenced by QDialog::closeEvent(), QAxClientSite::ContextSensitiveHelp(), QAxServerBase::ContextSensitiveHelp(), QWhatsThisPrivate::eventFilter(), and QDecoration::regionClicked().

663 {
667 }
static void notifyToplevels(QEvent *e)
Definition: qwhatsthis.cpp:404
static QWhatsThisPrivate * instance
Definition: qwhatsthis.cpp:393
The QEvent class is the base class of all event classes.
Definition: qcoreevent.h:56

◆ showText()

void QWhatsThis::showText ( const QPoint pos,
const QString text,
QWidget w = 0 
)
static

Shows text as a "What's This?" window, at global position pos.

The optional widget argument, w, is used to determine the appropriate screen on multi-head systems.

See also
hideText()

Definition at line 754 of file qwhatsthis.cpp.

Referenced by QMenuPrivate::activateAction(), QShortcut::event(), QTabBar::event(), QWidget::event(), QAbstractItemDelegate::helpEvent(), QMenuBar::mousePressEvent(), QTextBrowserPrivate::setSource(), and QHeaderView::viewportEvent().

755 {
757  QWhatsThisPrivate::say(w, text, pos.x(), pos.y());
758 }
static void say(QWidget *, const QString &, int x=0, int y=0)
Definition: qwhatsthis.cpp:669
int y() const
Returns the y coordinate of this point.
Definition: qpoint.h:131
int x() const
Returns the x coordinate of this point.
Definition: qpoint.h:128
static void leaveWhatsThisMode()
If the user interface is in "What&#39;s This?" mode, this function switches back to normal mode; otherwis...
Definition: qwhatsthis.cpp:662

The documentation for this class was generated from the following files: