QToolTip Class
La classe QToolTip permet d'afficher des info-bulles (aide sous forme de bulles) pour n'importe quel widget. En savoir plus...
| En-tête : | #include <QToolTip> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
| qmake : | QT += widgets |
- Liste de tous les membres, y compris les membres hérités
- QToolTip fait partie du système d'aide.
Membres publics statiques
| QFont | font() |
| void | hideText() |
| bool | isVisible() |
| QPalette | palette() |
| void | setFont(const QFont &font) |
| void | setPalette(const QPalette &palette) |
| void | showText(const QPoint &pos, const QString &text, QWidget *w = nullptr, const QRect &rect = {}, int msecDisplayTime = -1) |
| QString | text() |
Description détaillée
L'info-bulle est un court texte rappelant à l'utilisateur la fonction du widget. Elle s'affiche immédiatement sous la position indiquée, dans une combinaison de couleurs distinctive : noir sur fond jaune. L'info-bulle peut être n'importe quelle chaîne formatée avec rich text.
Le texte enrichi affiché dans une info-bulle est implicitement renvoyé à la ligne, sauf indication contraire via ` <p style='white-space:pre'>`.
Les éléments d’interface utilisateur créés via ` QAction ` utilisent la propriété `tooltip` de l’ QAction. Ainsi, pour la plupart des éléments d’interface utilisateur interactifs, définir cette propriété est le moyen le plus simple de fournir des info-bulles.
QAction *openAction = new QAction(tr("&Open..."));
openAction->setToolTip(tr("Open an existing file"));
fileMenu = menuBar()->addMenu(tr("&File"));
fileToolBar = addToolBar(tr("&File"));
fileMenu->addAction(openAction);
fileToolBar->addAction(openAction);Pour tous les autres widgets, la méthode la plus simple et la plus courante pour définir l’info-bulle d’un widget consiste à appeler sa fonction ` QWidget::setToolTip()`.
searchBar = new SearchBar;
searchBar->setToolTip(tr("Search in the current document"));Il est également possible d’afficher des infobulles différentes selon les zones d’un widget, en utilisant une fonction ` QHelpEvent ` de type ` QEvent::ToolTip`. Interceptez l’événement `help` dans la fonction ` event()` de votre widget et appelez ` QToolTip::showText()` avec le texte que vous souhaitez afficher.
bool Window::event(QEvent *event)
{
if (event->type() == QEvent::ToolTip) {
auto *helpEvent = static_cast<QHelpEvent *>(event);
if (Element *element = elementAt(helpEvent->pos())) {
QToolTip::showText(helpEvent->globalPos(), element->toolTip(), this);
} else {
QToolTip::hideText();
event->ignore();
}
return true;
}
return QWidget::event(event);
}Si vous appelez ` QToolTip::hideText()` ou ` QToolTip::showText()` avec une chaîne vide, à la suite d’un événement ` ToolTip`, vous devez également appeler ` ignore()` sur cet événement, afin d’indiquer que vous ne souhaitez pas lancer de mode spécifique aux infobulles.
Notez que, si vous souhaitez afficher des infobulles dans la vue d’un élément, l’architecture modèle/vue fournit des fonctionnalités permettant de définir l’infobulle d’un élément ; par exemple, la fonction QTableWidgetItem::setToolTip(). Cependant, si vous souhaitez fournir des infobulles personnalisées dans la vue d’un élément, vous devez intercepter l’événement « help » dans la fonction QAbstractItemView::viewportEvent() et le gérer vous-même.
La couleur et la police par défaut des infobulles peuvent être personnalisées à l’aide des fonctions setPalette() et setFont(). Lorsqu’une infobulle est affichée, la fonction isVisible() renvoie true et la fonction text() renvoie le texte actuellement visible.
Remarque : les infobulles utilisent le groupe de couleurs « inactif » défini par QPalette, car elles ne sont pas des fenêtres actives.
Voir également QWidget::toolTip et QAction::toolTip.
Documentation des fonctions membres
[static] QFont QToolTip::font()
Renvoie la police utilisée pour l'affichage des infobulles.
Voir aussi setFont().
[static] void QToolTip::hideText()
Masque l'info-bulle. Cela revient à appeler la fonction showText() avec une chaîne vide.
Voir aussi showText().
[static] bool QToolTip::isVisible()
Renvoie « true » si une info-bulle est actuellement affichée.
Voir aussi showText().
[static] QPalette QToolTip::palette()
Renvoie la palette utilisée pour l'affichage des infobulles.
Remarque : les infobulles utilisent le groupe de couleurs « inactif » de QPalette, car elles ne sont pas des fenêtres actives.
Voir aussi setPalette().
[static] void QToolTip::setFont(const QFont &font)
Définit l'font utilisé pour afficher les infobulles.
Voir aussi font().
[static] void QToolTip::setPalette(const QPalette &palette)
Définit la palette de couleurs « palette » utilisée pour l'affichage des infobulles.
Remarque : les infobulles utilisent le groupe de couleurs « inactif » de ` QPalette`, car elles ne sont pas des fenêtres actives.
Voir aussi ` palette()`
[static] void QToolTip::showText(const QPoint &pos, const QString &text, QWidget *w = nullptr, const QRect &rect = {}, int msecDisplayTime = -1)
Affiche text sous forme d'info-bulle, avec la position globale pos comme point d'intérêt. L'info-bulle s'affichera avec un décalage spécifique à la plateforme par rapport à ce point d'intérêt.
Si vous spécifiez un rectangle non vide, l’info-bulle sera masquée dès que vous déplacerez votre curseur hors de cette zone.
rect correspond aux coordonnées du widget que vous spécifiez avec w. Si rect n'est pas vide, vous devez spécifier un widget. Sinon, cet argument peut prendre la valeur nullptr, mais il sert à déterminer l'écran approprié sur les systèmes multi-écrans.
Le paramètre msecDisplayTime spécifie la durée d’affichage de l’info-bulle, en millisecondes. Avec la valeur par défaut -1, la durée dépend de la longueur du texte.
Si « text » est vide, l’info-bulle est masquée. Si le texte est identique à celui de l’info-bulle actuellement affichée, celle-ci ne se déplacera pas. Vous pouvez forcer son déplacement en masquant d’abord l’info-bulle avec un texte vide, puis en affichant la nouvelle info-bulle à la nouvelle position.
[static] QString QToolTip::text()
Renvoie le texte de l'info-bulle si celle-ci est visible, ou une chaîne vide si elle ne l'est pas.
© 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.