Sur cette page

QWhatsThis Class

La classe QWhatsThis fournit une description simple de tout 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 la fonctionnalité et l'utilisation d'un widget particulier. Les textes de l'aide "What's This ?" sont généralement plus longs et plus détaillés que tooltips, mais fournissent généralement moins d'informations que celles fournies par des fenêtres d'aide séparées.

QWhatsThis fournit une fenêtre unique avec un texte explicatif qui s'affiche lorsque l'utilisateur demande "Qu'est-ce que c'est ? Par défaut, l'utilisateur pose la question en plaçant le curseur sur le widget concerné et en appuyant sur les touches Maj+F1. Le texte d'aide apparaît immédiatement ; il disparaît dès que l'utilisateur fait autre chose. (Notez que s'il existe un raccourci pour Shift+F1, ce mécanisme ne fonctionnera pas). Certaines boîtes de dialogue proposent un bouton " ?" sur lequel l'utilisateur peut cliquer pour passer en mode "Qu'est-ce que c'est ?"; il clique alors sur le widget approprié pour faire apparaître la fenêtre "Qu'est-ce que c'est ? Il est également possible de prévoir une option de menu ou un bouton de barre d'outils pour passer en mode "Qu'est-ce que c'est ?

Pour ajouter du 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 du texte enrichi ou du texte simple. Si vous spécifiez une chaîne de texte riche formatée, elle sera rendue à 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 rendu en tant que 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'entrer dans le mode "Qu'est-ce que c'est ?" est d'appeler createAction() et d'ajouter l'adresse QAction renvoyée à un menu ou à une barre d'outils. En invoquant cette action d'aide contextuelle (dans l'image ci-dessous, le bouton avec la flèche et le point d'interrogation), l'utilisateur passe en mode "Qu'est-ce que c'est ? S'il clique sur un widget, le texte d'aide approprié s'affiche. L'utilisateur quitte le mode lorsqu'il obtient de l'aide ou lorsqu'il appuie sur la touche Echap.

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

Vous pouvez entrer dans le 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 "What's This ?" d'un widget, consultez Qt::WA_CustomWhatsThis.

Il est également possible d'afficher différents textes d'aide pour différentes régions 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 pour la position spécifiée dans QHelpEvent::pos(). Si le texte est un texte enrichi et que l'utilisateur clique sur un lien, le widget reçoit également un QWhatsThisClickedEvent avec la référence du lien sous la forme QWhatsThisClickedEvent::href(). Si un QWhatsThisClickedEvent est traité (c'est-à-dire que QWidget::event() renvoie un vrai), la fenêtre d'aide reste visible. Appelez QWhatsThis::hideText() pour la masquer explicitement.

Voir également QToolTip.

Documentation des fonctions membres

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

Renvoie un QAction prêt à l'emploi, utilisé pour invoquer l'aide contextuelle "Qu'est-ce que c'est ?", avec le parent donné.

Le QAction renvoyé constitue un moyen pratique de permettre aux utilisateurs d'entrer dans le 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'interface utilisateur peut être ramenée en mode normal par l'utilisateur (par exemple en cliquant ou en appuyant sur Esc), ou par programmation en appelant leaveWhatsThisMode().

Lors de l'entrée en mode "What's This ?", un message QEvent de type Qt::EnterWhatsThisMode est envoyé à tous les widgets de niveau supérieur.

Voir aussi inWhatsThisMode() et leaveWhatsThisMode().

[static] void QWhatsThis::hideText()

Si une fenêtre "Qu'est-ce que c'est ?" est affichée, elle est détruite.

Voir aussi showText().

[static] bool QWhatsThis::inWhatsThisMode()

Renvoie true si l'interface utilisateur est en mode "What's This ?"; sinon, renvoie false.

Voir aussi enterWhatsThisMode().

[static] void QWhatsThis::leaveWhatsThisMode()

Si l'interface utilisateur est en mode "What's This ?", cette fonction revient au mode normal ; sinon, elle ne fait rien.

Lorsqu'elle quitte le mode "What's This ?", une adresse QEvent de type Qt::LeaveWhatsThisMode est envoyée à tous les widgets de niveau supérieur.

Voir aussi enterWhatsThisMode() et inWhatsThisMode().

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

Affiche text en tant que fenêtre "Qu'est-ce que c'est ?", à la position globale pos. L'argument facultatif du widget, w, est utilisé pour déterminer l'écran approprié sur les systèmes à têtes multiples.

Voir aussi 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.