QLabel Class
Le widget QLabel permet d'afficher du texte ou une image. En savoir plus...
| En-tête : | #include <QLabel> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
| qmake : | QT += widgets |
| Hérite de : | QFrame |
Propriétés
|
|
Fonctions publiques
| QLabel(QWidget *parent = nullptr, Qt::WindowFlags f = Qt::WindowFlags()) | |
| QLabel(const QString &text, QWidget *parent = nullptr, Qt::WindowFlags f = Qt::WindowFlags()) | |
| virtual | ~QLabel() |
| Qt::Alignment | alignment() const |
| QWidget * | buddy() const |
| bool | hasScaledContents() const |
| bool | hasSelectedText() const |
| int | indent() const |
| int | margin() const |
| QMovie * | movie() const |
| bool | openExternalLinks() const |
(since 6.0) QPicture | picture() const |
| QPixmap | pixmap() const |
(since 6.1) QTextDocument::ResourceProvider | resourceProvider() const |
| QString | selectedText() const |
| int | selectionStart() const |
| void | setAlignment(Qt::Alignment) |
| void | setBuddy(QWidget *buddy) |
| void | setIndent(int) |
| void | setMargin(int) |
| void | setOpenExternalLinks(bool open) |
(since 6.1) void | setResourceProvider(const QTextDocument::ResourceProvider &provider) |
| void | setScaledContents(bool) |
| void | setSelection(int start, int length) |
| void | setTextFormat(Qt::TextFormat) |
| void | setTextInteractionFlags(Qt::TextInteractionFlags flags) |
| void | setWordWrap(bool on) |
| QString | text() const |
| Qt::TextFormat | textFormat() const |
| Qt::TextInteractionFlags | textInteractionFlags() const |
| bool | wordWrap() const |
Fonctions publiques réimplémentées
| virtual int | heightForWidth(int w) const override |
| virtual QSize | minimumSizeHint() const override |
| virtual QSize | sizeHint() const override |
Slots publics
| void | clear() |
| void | setMovie(QMovie *movie) |
| void | setNum(int num) |
| void | setNum(double num) |
| void | setPicture(const QPicture &picture) |
| void | setPixmap(const QPixmap &) |
| void | setText(const QString &) |
Signaux
| void | linkActivated(const QString &link) |
| void | linkHovered(const QString &link) |
Fonctions protégées réimplémentées
| virtual void | changeEvent(QEvent *ev) override |
| virtual void | contextMenuEvent(QContextMenuEvent *ev) override |
| virtual bool | event(QEvent *e) override |
| virtual void | focusInEvent(QFocusEvent *ev) override |
| virtual bool | focusNextPrevChild(bool next) override |
| virtual void | focusOutEvent(QFocusEvent *ev) override |
| virtual void | keyPressEvent(QKeyEvent *ev) override |
| virtual void | mouseMoveEvent(QMouseEvent *ev) override |
| virtual void | mousePressEvent(QMouseEvent *ev) override |
| virtual void | mouseReleaseEvent(QMouseEvent *ev) override |
| virtual void | paintEvent(QPaintEvent *) override |
Description détaillée

QLabel sert à afficher du texte ou une image. Aucune fonctionnalité d'interaction avec l'utilisateur n'est fournie. L'apparence visuelle de l'étiquette peut être configurée de différentes manières, et celle-ci peut être utilisée pour spécifier une touche mnémonique de focus pour un autre widget.
Un QLabel peut contenir l’un des types de contenu suivants :
| Contenu | Paramètre |
|---|---|
| Texte brut | Transmettez une chaîne de caractères ( QString ) à la fonction ` setText()`. |
| Texte formaté | Transmettez un QString contenant du texte enrichi à la fonction setText(). |
| Une image bitmap | Transmettez une QPixmap à la fonction setPixmap(). |
| Une vidéo | Transmettez une QMovie à la fonction setMovie(). |
| Un nombre | Transmettez un entier (int) ou un nombre à virgule flottante (double) à la fonction setNum(), qui convertit le nombre en texte brut. |
| Rien | Équivaut à du texte brut vide. Il s'agit de la valeur par défaut. Définie par clear(). |
Avertissement : lorsque vous passez un objet ` QString ` au constructeur ou que vous appelez la méthode ` setText()`, veillez à valider vos données d’entrée, car `QLabel` tente de deviner s’il doit afficher le texte au format texte brut ou au format texte enrichi, un sous-ensemble du balisage HTML 4. Vous pouvez appeler explicitement la fonction setTextFormat() (), par exemple si vous vous attendez à ce que le texte soit au format brut mais que vous ne pouvez pas contrôler la source du texte (notamment lors de l’affichage de données chargées depuis le Web).
Lorsque le contenu est modifié à l’aide de l’une de ces fonctions, tout contenu précédent est effacé.
Par défaut, les étiquettes affichent du texte et des images au format « left-aligned, vertically-centered », les retours à la ligne du texte à afficher étant gérés par « automatically expanded ». Cependant, l’apparence d’un QLabel peut être ajustée et affinée de plusieurs façons.
Le positionnement du contenu dans la zone du widget QLabel peut être ajusté à l’aide de ` setAlignment()` et ` setIndent()`. Le contenu textuel peut également être mis en ligne à la fin des mots grâce à ` setWordWrap()`. Par exemple, ce code configure un panneau en retrait avec un texte de deux lignes dans le coin inférieur droit (les deux lignes étant alignées sur le bord droit de l’étiquette) :
QLabel *label = new QLabel(this);
label->setFrameStyle(QFrame::Panel | QFrame::Sunken);
label->setText("first line\nsecond line");
label->setAlignment(Qt::AlignBottom | Qt::AlignRight);Les propriétés et fonctions dont QLabel hérite de QFrame peuvent également être utilisées pour spécifier le cadre de widget à utiliser pour une étiquette donnée.
Un QLabel est souvent utilisé comme étiquette pour un widget interactif. À cette fin, QLabel fournit un mécanisme utile permettant d'ajouter un mnémonique (voir QKeySequence) qui placera le focus clavier sur l'autre widget (appelé le « buddy » du QLabel). Par exemple :
QLineEdit *phoneEdit = new QLineEdit(this);
QLabel *phoneLabel = new QLabel("&Phone:", this);
phoneLabel->setBuddy(phoneEdit);Dans cet exemple, le focus clavier est transféré vers le « buddy » de l'étiquette ( QLineEdit) lorsque l'utilisateur appuie sur Alt+P. Si le « buddy » était un bouton (héritant de QAbstractButton), le déclenchement du mnémonique simulentait un clic sur le bouton.
Voir également QLineEdit, QTextEdit, QPixmap et QMovie.
Documentation sur les propriétés
alignment : Qt::Alignment
Cette propriété définit l'alignement du contenu de l'étiquette.
Par défaut, le contenu de l'étiquette est aligné à gauche et centré verticalement.
Fonctions d'accès :
| Qt::Alignment | alignment() const |
| void | setAlignment(Qt::Alignment) |
Voir également text.
[read-only] hasSelectedText : bool
Cette propriété indique si du texte a été sélectionné
La méthode hasSelectedText() renvoie true si tout ou partie du texte a été sélectionné par l'utilisateur ; sinon, elle renvoie false.
Par défaut, cette propriété est définie sur « false ».
Remarque : la propriété « textInteractionFlags » définie sur l'étiquette doit inclure soit « TextSelectableByMouse », soit « TextSelectableByKeyboard ».
Fonctions d'accès :
| bool | hasSelectedText() const |
Voir également selectedText().
indent : int
Cette propriété définit le retrait du texte de l'étiquette en pixels.
Si une étiquette affiche du texte, l’indentation s’applique au bord gauche si alignment() vaut Qt::AlignLeft, au bord droit si alignment() vaut Qt::AlignRight, au bord supérieur si alignment() vaut Qt::AlignTop, et au bord inférieur si alignment() vaut Qt::AlignBottom.
Si l’indentation est négative, ou si aucune indentation n’a été définie, le label calcule l’indentation effective comme suit : si frameWidth() est égal à 0, l’indentation effective devient 0. Si frameWidth() est supérieur à 0, l’indentation effective devient la moitié de la largeur du caractère « x » de l’ font() actuelle du widget.
Par défaut, l’indentation est de -1, ce qui signifie que l’indentation effective est calculée selon la méthode décrite ci-dessus.
Fonctions d’accès :
| int | indent() const |
| void | setIndent(int) |
Voir également alignment, margin, frameWidth() et font().
margin : int
Cette propriété définit la largeur de la marge.
La marge correspond à la distance entre le pixel le plus intérieur du cadre et le pixel le plus extérieur du contenu.
La marge par défaut est 0.
Fonctions d’accès :
| int | margin() const |
| void | setMargin(int) |
Voir également indent.
openExternalLinks : bool
Indique si QLabel doit ouvrir automatiquement les liens à l'aide de la méthode QDesktopServices::openUrl() au lieu d'émettre le signal linkActivated().
Remarque : l'textInteractionFlags défini sur l'étiquette doit inclure soit LinksAccessibleByMouse, soit LinksAccessibleByKeyboard.
La valeur par défaut est « false ».
Fonctions d’accès :
| bool | openExternalLinks() const |
| void | setOpenExternalLinks(bool open) |
Voir également textInteractionFlags().
pixmap : QPixmap
Cette propriété contient la carte de pixels de l'étiquette.
La définition de la carte de pixels efface tout contenu précédent. Le raccourci « buddy », s'il existe, est désactivé.
Fonctions d'accès :
| QPixmap | pixmap() const |
| void | setPixmap(const QPixmap &) |
scaledContents : bool
Cette propriété détermine si l'étiquette redimensionnera son contenu pour occuper tout l'espace disponible.
Lorsqu'elle est activée et que l'étiquette affiche une image bitmap, celle-ci est redimensionnée pour occuper tout l'espace disponible.
La valeur par défaut de cette propriété est « false ».
Fonctions d'accès :
| bool | hasScaledContents() const |
| void | setScaledContents(bool) |
[read-only] selectedText : QString
Cette propriété contient le texte sélectionné.
S'il n'y a pas de texte sélectionné, la valeur de cette propriété est une chaîne vide.
Par défaut, cette propriété contient une chaîne vide.
Remarque : l'textInteractionFlags, définie sur l'étiquette, doit inclure soit TextSelectableByMouse, soit TextSelectableByKeyboard.
Fonctions d'accès :
| QString | selectedText() const |
Voir également hasSelectedText().
text : QString
Cette propriété contient le texte de l'étiquette.
Si aucun texte n'a été défini, elle renvoie une chaîne vide. La définition du texte efface tout contenu précédent.
Le texte sera interprété soit comme du texte brut, soit comme du texte enrichi, selon le paramètre de format de texte ; voir setTextFormat(). Le paramètre par défaut est Qt::AutoText; c'est-à-dire que QLabel tentera de détecter automatiquement le format du texte défini. Voir Sous-ensemble HTML pris en charge pour la définition du texte enrichi.
Si un contact a été défini, la touche mnémonique du contact est mise à jour à partir du nouveau texte.
Notez que QLabel est particulièrement adapté à l’affichage de petits documents en texte enrichi, tels que les documents de petite taille dont les paramètres spécifiques (police, couleur du texte, couleur des liens) proviennent de la palette et des propriétés de police de l’étiquette. Pour les documents volumineux, utilisez plutôt QTextEdit en mode lecture seule. QTextEdit peut également afficher une barre de défilement si nécessaire.
Remarque : cette fonction active le suivi de la souris si text contient du texte enrichi.
Fonctions d’accès :
| QString | text() const |
| void | setText(const QString &) |
Voir également setTextFormat(), setBuddy() et alignment.
textFormat : Qt::TextFormat
Cette propriété définit le format du texte de l'étiquette.
Reportez-vous à l'énumération « Qt::TextFormat » pour obtenir une explication des options possibles.
Le format par défaut est Qt::AutoText.
Fonctions d'accès :
| Qt::TextFormat | textFormat() const |
| void | setTextFormat(Qt::TextFormat) |
Voir également text().
textInteractionFlags : Qt::TextInteractionFlags
Spécifie comment l'étiquette doit interagir avec les entrées de l'utilisateur si elle affiche du texte.
Si les indicateurs contiennent « Qt::LinksAccessibleByKeyboard », la politique de focus est également définie automatiquement sur « Qt::StrongFocus ». Si « Qt::TextSelectableByKeyboard » est défini, la politique de focus est alors définie sur « Qt::ClickFocus ».
La valeur par défaut est « Qt::LinksAccessibleByMouse ».
Fonctions d’accès :
| Qt::TextInteractionFlags | textInteractionFlags() const |
| void | setTextInteractionFlags(Qt::TextInteractionFlags flags) |
wordWrap : bool
Cette propriété définit la politique de retour à la ligne du libellé.
Si cette propriété est définie sur « true », le texte de l'étiquette est renvoyé à la ligne si nécessaire aux césures ; sinon, il n'est pas renvoyé à la ligne.
Par défaut, le retour à la ligne automatique est désactivé.
Fonctions d'accès :
| bool | wordWrap() const |
| void | setWordWrap(bool on) |
Voir également text.
Documentation des fonctions membres
[explicit] QLabel::QLabel(QWidget *parent = nullptr, Qt::WindowFlags f = Qt::WindowFlags())
Crée une étiquette vide.
Les arguments ` parent ` et ` f` (indicateur de widget) sont transmis au constructeur ` QFrame `.
Voir également setAlignment(), setFrameStyle() et setIndent().
[explicit] QLabel::QLabel(const QString &text, QWidget *parent = nullptr, Qt::WindowFlags f = Qt::WindowFlags())
Crée une étiquette affichant le texte « text ».
Les arguments « parent » et « widget flag f » sont transmis au constructeur « QFrame ».
Voir également setText(), setAlignment(), setFrameStyle() et setIndent().
[virtual noexcept] QLabel::~QLabel()
Supprime l'étiquette.
QWidget *QLabel::buddy() const
Renvoie le « buddy » de cette étiquette, ou `nullptr` si aucun « buddy » n'est actuellement défini.
Voir également setBuddy().
[override virtual protected] void QLabel::changeEvent(QEvent *ev)
Réimplémente : QFrame::changeEvent(QEvent *ev).
[slot] void QLabel::clear()
Efface le contenu de n'importe quelle étiquette.
[override virtual protected] void QLabel::contextMenuEvent(QContextMenuEvent *ev)
Réimplémente : QWidget::contextMenuEvent(QContextMenuEvent *event).
[override virtual protected] bool QLabel::event(QEvent *e)
Réimplémente : QFrame::event(QEvent *e).
[override virtual protected] void QLabel::focusInEvent(QFocusEvent *ev)
Réimplémente : QWidget::focusInEvent(QFocusEvent *event).
[override virtual protected] bool QLabel::focusNextPrevChild(bool next)
Réimplémente : QWidget::focusNextPrevChild(bool next).
[override virtual protected] void QLabel::focusOutEvent(QFocusEvent *ev)
Réimplémente : QWidget::focusOutEvent(QFocusEvent *event).
[override virtual] int QLabel::heightForWidth(int w) const
Réimplémente : QWidget::heightForWidth(int w) const.
[override virtual protected] void QLabel::keyPressEvent(QKeyEvent *ev)
Réimplémente : QWidget::keyPressEvent(QKeyEvent *event).
[signal] void QLabel::linkActivated(const QString &link)
Ce signal est émis lorsque l'utilisateur clique sur un lien. L'URL à laquelle renvoie l'ancre est transmise dans ` link`.
Voir également linkHovered().
[signal] void QLabel::linkHovered(const QString &link)
Ce signal est émis lorsque l'utilisateur passe la souris sur un lien. L'URL à laquelle renvoie l'ancre est transmise dans ` link`.
Voir également linkActivated().
[override virtual] QSize QLabel::minimumSizeHint() const
Réimplémente une fonction d'accès pour la propriété : QWidget::minimumSizeHint.
[override virtual protected] void QLabel::mouseMoveEvent(QMouseEvent *ev)
Réimplémente : QWidget::mouseMoveEvent(QMouseEvent *event).
[override virtual protected] void QLabel::mousePressEvent(QMouseEvent *ev)
Réimplémente : QWidget::mousePressEvent(QMouseEvent *event).
[override virtual protected] void QLabel::mouseReleaseEvent(QMouseEvent *ev)
Réimplémente : QWidget::mouseReleaseEvent(QMouseEvent *event).
QMovie *QLabel::movie() const
Renvoie un pointeur vers l'animation de l'étiquette, ou nullptr si aucune animation n'a été définie.
Voir aussi setMovie().
[override virtual protected] void QLabel::paintEvent(QPaintEvent *)
Réimplémente : QFrame::paintEvent(QPaintEvent *).
[since 6.0] QPicture QLabel::picture() const
Renvoie l'image de l'étiquette.
Cette fonction a été introduite dans Qt 6.0.
Voir aussi setPicture().
[since 6.1] QTextDocument::ResourceProvider QLabel::resourceProvider() const
Renvoie le fournisseur de ressources pour le texte enrichi de cette étiquette.
Cette fonction a été introduite dans Qt 6.1.
Voir aussi ` setResourceProvider()`.
int QLabel::selectionStart() const
La fonction selectionStart() renvoie l'index du premier caractère sélectionné dans l'étiquette ou -1 si aucun texte n'est sélectionné.
Remarque : l’ textInteractionFlags, défini sur l’étiquette, doit inclure soit TextSelectableByMouse, soit TextSelectableByKeyboard.
Voir aussi selectedText().
void QLabel::setBuddy(QWidget *buddy)
Définit le widget associé à cette étiquette sur buddy.
Lorsque l'utilisateur appuie sur la touche de raccourci indiquée par cette étiquette, le focus clavier est transféré vers le widget associé à l'étiquette.
Le mécanisme de « buddy » n’est disponible que pour les QLabels contenant du texte dans lequel un caractère est précédé d’un « & » (esperluette). Ce caractère est défini comme touche de raccourci. Consultez la documentation relative à la fonction QKeySequence::mnemonic() pour plus de détails (pour afficher une véritable esperluette, utilisez « && »).
Dans une boîte de dialogue, vous pouvez créer deux widgets de saisie de données et une étiquette pour chacun d’eux, puis configurer la disposition géométrique de manière à ce que chaque étiquette se trouve juste à gauche de son widget de saisie de données (son « compagnon »), par exemple :
QLineEdit *nameEdit = new QLineEdit(this);
QLabel *nameLabel = new QLabel("&Name:", this);
nameLabel->setBuddy(nameEdit);
QLineEdit *phoneEdit = new QLineEdit(this);
QLabel *phoneLabel = new QLabel("&Phone:", this);
phoneLabel->setBuddy(phoneEdit);
// (layout setup not shown)Avec le code ci-dessus, le focus passe sur le champ « Nom » lorsque l’utilisateur appuie sur Alt+N, et sur le champ « Téléphone » lorsqu’il appuie sur Alt+P.
Pour désactiver un « buddy » précédemment défini, appelez cette fonction en passant ` buddy ` à `nullptr`.
Voir également buddy(), setText(), QShortcut et setAlignment().
[slot] void QLabel::setMovie(QMovie *movie)
Définit le contenu de l'étiquette sur « movie ». Tout contenu précédent est effacé. L'étiquette ne prend PAS possession du film.
Le raccourci « buddy », s'il existe, est désactivé.
Voir également movie() et setBuddy().
[slot] void QLabel::setNum(int num)
Définit le contenu de l'étiquette sous forme de texte brut contenant la représentation textuelle de l'entier num. Tout contenu précédent est effacé. Cette opération n'a aucun effet si la représentation sous forme de chaîne de caractères de l'entier est identique au contenu actuel de l'étiquette.
Le raccourci « buddy », s'il existe, est désactivé.
Remarque : ce slot est surchargé. Pour vous connecter à ce slot :
// Connect using qOverload:
connect(sender, &SenderClass::signal,
label, qOverload(&QLabel::setNum));
// Or using a lambda as wrapper:
connect(sender, &SenderClass::signal,
label, [receiver = label](int num) { receiver->setNum(num); }); Voir également setText(), QString::setNum() et setBuddy().
[slot] void QLabel::setNum(double num)
Définit le contenu de l'étiquette sur du texte brut contenant la représentation textuelle d'un nombre de type double num. Tout contenu précédent est effacé. Ne fait rien si la représentation sous forme de chaîne de ce nombre de type double est identique au contenu actuel de l'étiquette.
Le raccourci « buddy », s'il existe, est désactivé.
Remarque : ce slot est surchargé. Pour vous connecter à ce slot :
// Connect using qOverload:
connect(sender, &SenderClass::signal,
label, qOverload(&QLabel::setNum));
// Or using a lambda as wrapper:
connect(sender, &SenderClass::signal,
label, [receiver = label](double num) { receiver->setNum(num); }); Voir également setText(), QString::setNum() et setBuddy().
[slot] void QLabel::setPicture(const QPicture &picture)
Définit le contenu de l'étiquette sur « picture ». Tout contenu précédent est effacé.
Le raccourci « buddy », s'il existe, est désactivé.
Voir également picture() et setBuddy().
[since 6.1] void QLabel::setResourceProvider(const QTextDocument::ResourceProvider &provider)
Définit l'provider des ressources pour le texte enrichi de cette étiquette.
Remarque : l'étiquette ne prend pas possession de l'provider.
Cette fonction a été introduite dans Qt 6.1.
Voir aussi ` resourceProvider()`.
void QLabel::setSelection(int start, int length)
Sélectionne le texte à partir de la position start et sur une longueur de length caractères.
Remarque : la propriété textInteractionFlags définie sur l'étiquette doit inclure soit TextSelectableByMouse, soit TextSelectableByKeyboard.
Voir également selectedText().
[override virtual] QSize QLabel::sizeHint() const
Réimplémente : ` QFrame::sizeHint()` const.
© 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.