Sur cette page

QWhatsThis Class

La classe QWhatsThis fournit une description simple de n'importe quel widget, c'est-à-dire qu'elle répond à la question « Qu'est-ce que c'est ? ». En savoir plus...

En-tête : #include <QWhatsThis>
CMake : find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake : QT += widgets

Membres publics statiques

QAction *createAction(QObject *parent = nullptr)
void enterWhatsThisMode()
void hideText()
bool inWhatsThisMode()
void leaveWhatsThisMode()
void showText(const QPoint &pos, const QString &text, QWidget *w = nullptr)

Description détaillée

L'aide « Qu'est-ce que c'est ? » fait partie du système d'aide en ligne d'une application et fournit aux utilisateurs des informations sur les fonctionnalités et l'utilisation d'un widget particulier. Les textes d'aide « Qu'est-ce que c'est ? » sont généralement plus longs et plus détaillés que ceux de l'aide « tooltips », mais fournissent généralement moins d'informations que celles fournies par des fenêtres d'aide distinctes.

QWhatsThis propose une fenêtre unique contenant un texte explicatif qui s'affiche lorsque l'utilisateur demande « Qu'est-ce que c'est ? ». Par défaut, pour poser cette question, l’utilisateur doit placer le curseur sur le widget concerné et appuyer sur Maj+F1. Le texte d’aide s’affiche immédiatement ; il disparaît dès que l’utilisateur effectue une autre action. (Notez que si un raccourci clavier est déjà attribué à la combinaison Maj+F1, ce mécanisme ne fonctionnera pas.) Certaines boîtes de dialogue proposent un bouton « ? » sur lequel les utilisateurs peuvent cliquer pour passer en mode « Qu'est-ce que c'est ? » ; ils cliquent ensuite sur le widget concerné pour faire apparaître la fenêtre « Qu'est-ce que c'est ? ». Il est également possible de proposer une option de menu ou un bouton de la barre d'outils pour passer en mode « Qu'est-ce que c'est ? ».

Pour ajouter un texte « Qu'est-ce que c'est ? » à un widget ou à une action, il suffit d'appeler QWidget::setWhatsThis() ou QAction::setWhatsThis().

Le texte peut être soit du texte enrichi, soit du texte brut. Si vous spécifiez une chaîne formatée en texte enrichi, elle sera affichée à l’aide de la feuille de style par défaut, ce qui permet d’intégrer des images dans le texte affiché. Pour être aussi rapide que possible, la feuille de style par défaut utilise une méthode simple pour déterminer si le texte peut être affiché en texte brut. Voir Qt::mightBeRichText() pour plus de détails.

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

Une autre façon d’accéder au mode « Qu’est-ce que c’est ? » consiste à appeler createAction(), puis à ajouter l’ QAction renvoyée à un menu ou à une barre d’outils. En invoquant cette action d’aide contextuelle (sur l’image ci-dessous, le bouton avec l’icône représentant une flèche et un point d’interrogation), l’utilisateur passe en mode « Qu’est-ce que c’est ? ». S’il clique alors sur un widget, le texte d’aide correspondant s’affiche. Le mode prend fin lorsque l’aide est fournie ou lorsque l’utilisateur appuie sur la touche Échap.

Mode « Qu'est-ce que c'est ? » pour le bouton « Nouveau fichier »

Vous pouvez passer en mode « Qu'est-ce que c'est ? » par programmation avec enterWhatsThisMode(), vérifier le mode avec inWhatsThisMode(), et revenir au mode normal avec leaveWhatsThisMode().

Si vous souhaitez contrôler manuellement le comportement « Qu'est-ce que c'est ? » d'un widget, consultez Qt::WA_CustomWhatsThis.

Il est également possible d’afficher différents textes d’aide pour différentes zones d’un widget, en utilisant un QHelpEvent de type QEvent::WhatsThis. Interceptez l’événement d’aide dans la fonction QWidget::event() de votre widget et appelez QWhatsThis::showText() avec le texte que vous souhaitez afficher à la position spécifiée dans QHelpEvent::pos(). Si le texte est au format RTF et que l’utilisateur clique sur un lien, le widget reçoit également un événement « QWhatsThisClickedEvent » avec la référence du lien sous la forme QWhatsThisClickedEvent::href(). Si un événement « QWhatsThisClickedEvent » est géré (c’est-à-dire si QWidget::event() renvoie true), la fenêtre d’aide reste visible. Appelez QWhatsThis::hideText() pour la masquer explicitement.

Voir également QToolTip.

Documentation sur les fonctions membres

[static] QAction *QWhatsThis::createAction(QObject *parent = nullptr)

Renvoie un objet ` QAction` prêt à l'emploi, utilisé pour afficher l'aide contextuelle « Qu'est-ce que c'est ? », avec l'parent fournie.

L'QAction renvoyée offre un moyen pratique de permettre aux utilisateurs d'accéder au mode « Qu'est-ce que c'est ? ».

[static] void QWhatsThis::enterWhatsThisMode()

Cette fonction fait passer l'interface utilisateur en mode « Qu'est-ce que c'est ? ». L'utilisateur peut ramener l'interface utilisateur en mode normal (par exemple en cliquant ou en appuyant sur la touche Échap), ou bien par programmation en appelant la fonction ` leaveWhatsThisMode()`.

Lors du passage en mode « Qu'est-ce que c'est ? », un événement « QEvent » de type Qt::EnterWhatsThisMode est envoyé à tous les widgets de niveau supérieur.

Voir également inWhatsThisMode() et leaveWhatsThisMode().

[static] void QWhatsThis::hideText()

Si une fenêtre « Qu'est-ce que c'est ? » est affichée, cette commande la ferme.

Voir aussi showText().

[static] bool QWhatsThis::inWhatsThisMode()

Renvoie « true » si l'interface utilisateur est en mode « Qu'est-ce que c'est ? » ; sinon, renvoie « false ».

Voir également enterWhatsThisMode().

[static] void QWhatsThis::leaveWhatsThisMode()

Si l'interface utilisateur est en mode « Qu'est-ce que c'est ? », cette fonction permet de revenir au mode normal ; sinon, elle ne fait rien.

Lorsqu'on quitte le mode « Qu'est-ce que c'est ? », un message « QEvent » de type Qt::LeaveWhatsThisMode est envoyé à tous les widgets de niveau supérieur.

Voir également ` enterWhatsThisMode()` et ` inWhatsThisMode()`.

[static] void QWhatsThis::showText(const QPoint &pos, const QString &text, QWidget *w = nullptr)

Affiche text dans une fenêtre « Qu'est-ce que c'est ? », à la position globale pos. L'argument facultatif « widget », w, sert à déterminer l'écran approprié sur les systèmes multi-écrans.

Voir également hideText().

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.