Sous-ensemble HTML pris en charge
Les widgets de texte de Qt sont capables d’afficher du texte enrichi, défini à l’aide d’un sous-ensemble de balises HTML 4. Les widgets utilisant QTextDocument, tels que QLabel et QTextEdit, sont capables d’afficher du texte enrichi défini de cette manière.
Utilisation du balisage HTML dans les widgets de texte
Les widgets détectent automatiquement le balisage HTML et affichent le texte enrichi en conséquence. Par exemple, si vous définissez la propriété ` text ` d’une étiquette avec la chaîne ` "<b>Hello</b> <i>Qt!</i>" `, l’étiquette affichera du texte comme celui-ci : Hello Qt!
Lorsque le balisage HTML est utilisé pour du texte, Qt suit les règles définies par la spécification HTML 4. Cela inclut les propriétés par défaut de mise en page du texte, telles que le sens de l'écoulement du texte (de gauche à droite), qui peut être modifié en appliquant l'attribut dir à des blocs de texte.
Balises prises en charge
Le tableau suivant répertorie les balises HTML prises en charge par le moteur de texte enrichi de Qt.
Remarque : les fonctionnalités implémentées pour les balises répertoriées ci-dessous constituent un sous-ensemble de la spécification HTML 4 complète. Tous les attributs ne sont pas pris en charge ; consultez les commentaires relatifs à chaque balise.
| Balise | Description | Commentaire |
|---|---|---|
a | Ancre ou lien | Prend en charge les attributs href, name et title. |
address | Adresse | |
b | Gras | |
big | Police plus grande | |
blockquote | Paragraphe en retrait | |
body | Corps du document | Prend en charge l'attribut « bgcolor », qui peut être une spécification de couleur Qt color name ou #RRGGBB. |
br | Saut de ligne | |
center | Paragraphe centré | |
cite | Citation en ligne | Identique à i. |
code | Code | Identique à tt. |
dd | Données de définition | |
del | Supprimé | Identique à s. Depuis Qt 6.11 |
dfn | Définition | Identique à i. |
div | Division du document | Prend en charge les attributs de bloc standard. |
dl | Liste de définitions | Prend en charge les attributs de bloc standard. |
dt | Terme de définition | Prend en charge les attributs de bloc standard. |
em | Mise en évidence | Identique à « i ». |
font | Taille, police et/ou couleur de la police | Prend en charge les attributs suivants : size, face et color (Qt color names ou #RRGGBB). |
h1 | Titre de niveau 1 | Prend en charge les attributs de bloc standard. |
h2 | Titre de niveau 2 | Prend en charge les attributs de bloc standard. |
h3 | Titre de niveau 3 | Prend en charge les attributs de bloc standard. |
h4 | Titre de niveau 4 | Prend en charge les attributs de bloc standard. |
h5 | Titre de niveau 5 | Prend en charge les attributs de bloc standard. |
h6 | Titre de niveau 6 | Prend en charge les attributs de bloc standard. |
head | En-tête de document | |
hr | Ligne horizontale | Prend en charge l'attribut « width », qui peut être spécifié sous forme de valeur absolue ou relative (%). |
html | Document HTML | |
i | Italique | |
img | Image | Prend en charge les attributs src, width, height, style, alt et title. |
kbd | Texte saisi par l’utilisateur | |
meta | Méta-informations | Si un encodage de texte est spécifié à l’aide de la balise meta, il est pris en compte par Qt::codecForHtml(). De même, si un encodage est spécifié dans QTextDocument::toHtml(), celui-ci est stocké à l’aide d’une balise meta, par exemple : <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP" /> |
li | Élément de liste | |
nobr | Texte insécable | |
ol | Liste ordonnée | Prend en charge les attributs de liste standard. |
p | Paragraphe | Aligné à gauche par défaut. Prend en charge les attributs de bloc standard. |
pre | Texte préformaté | |
qt | Document Qt en texte enrichi | Synonyme de « html ». Fournis pour des raisons de compatibilité avec les versions antérieures de Qt. |
s | Barré | |
samp | Exemple de code | Identique à « tt ». |
small | Petite police | |
span | Éléments groupés | |
strong | Gras | Identique à b. |
sub | Indice | |
sup | Exposant | |
table | Tableau | Prend en charge les attributs suivants : border, bgcolor (Qt color names ou #RRGGBB), cellspacing, cellpadding, width (absolu ou relatif) et height. |
tbody | Corps du tableau | N'a aucun effet. |
td | Cellule de données du tableau | Prend en charge les attributs standard des cellules de tableau. |
tfoot | Pied de tableau | N'a aucune fonction. |
th | Cellule d'en-tête de tableau | Prend en charge les attributs standard des cellules de tableau. |
thead | En-tête de tableau | Si la balise thead est spécifiée, elle est utilisée lors de l'impression de tableaux s'étendant sur plusieurs pages. |
title | Titre du document | La valeur spécifiée à l'aide de la balise ` title ` est accessible via ` QTextDocument::metaInformation()`. |
tr | Ligne de tableau | Prend en charge l’attribut ` bgcolor `, qui peut être une color name Qt ou une spécification de couleur de type ` #RRGGBB `. |
tt | Police de type dactylographique | |
u | Souligné | |
ul | Liste non ordonnée | Prend en charge les attributs de liste standard. |
var | Variable | Identique à « i ». |
Attributs de bloc
Les attributs suivants sont pris en charge par les balises div, dl, dt, h1, h2, h3, h4, h5, h6 et p:
align(left,right,center,justify)dir(ltr,rtl)
Attributs de la liste
L'attribut suivant est pris en charge par les balises ol et ul:
type(1,a,A,square,disc,circle)
De plus, l'attribut suivant est pris en charge par la balise ol:
start
Attributs des cellules de tableau
Les attributs suivants sont pris en charge par les balises ` td ` et ` th ` :
width(absolu, relatif ou sans valeur)bgcolor(Qt XML color names ou#RRGGBB)colspanrowspanalign(left,right,center,justify)valign(top,middle,bottom)
Propriétés CSS
Le tableau suivant répertorie les propriétés CSS prises en charge par le moteur de texte enrichi de Qt :
| Propriété | Valeurs | Description |
|---|---|---|
background-color | <color> | Couleur d'arrière-plan des éléments |
background-image | <uri> | Image d'arrière-plan des éléments |
color | <color> | Couleur de premier plan du texte |
font-family | <nom de famille> | Nom de la famille de polices |
font-size | [ small | medium | large | x-large | xx-large ] | <taille>pt | <taille>px | Taille de police relative à la police du document, ou spécifiée en points ou en pixels |
font-style | [ normal | italique | oblique ] | |
font-weight | [ normal | gras | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 ] | Spécifie l’épaisseur de la police utilisée pour le texte, où normal et bold sont mis en correspondance avec les épaisseurs correspondantes de QFont. Les valeurs numériques correspondent à 8 fois les valeurs d’épaisseur équivalentes de QFont. |
text-decoration | none | [ underline || overline || line-through ] | Effets de texte supplémentaires |
font | [ [ <'font-style'> || <'font-weight'> ]? <'font-size'> <'font-family'> ] | Propriété abrégée de police |
text-indent | <length>px | Indentation de la première ligne de texte en pixels |
white-space | normal | pre | nowrap | pre-wrap | Définit la manière dont les espaces blancs sont gérés dans le code HTML. |
margin-top | <length>px | Marge supérieure du paragraphe en pixels |
margin-bottom | <length>px | Marge inférieure du paragraphe en pixels |
margin-left | <length>px | Marge gauche du paragraphe en pixels |
margin-right | <longueur>px | Marge droite du paragraphe en pixels |
padding-top | <longueur>px | Remplissage supérieur de la cellule du tableau en pixels |
padding-bottom | <longueur>px | Remplissage inférieur des cellules du tableau en pixels |
padding-left | <longueur>px | Remplissage à gauche de la cellule du tableau en pixels |
padding-right | <longueur>px | Remplissage à droite des cellules du tableau en pixels |
padding | <longueur>px | Syntaxe abrégée permettant de définir simultanément toutes les propriétés de remplissage. |
vertical-align | baseline | sub | super | middle | top | bottom | Alignement vertical du texte. Pour l'alignement vertical dans les cellules de tableau contenant du texte, seules les valeurs « middle », « top » et « bottom » s'appliquent. |
border-collapse | collapse | separate | Mode de regroupement des bordures pour les tableaux de texte. Si la valeur est définie sur « collapse », l'espacement entre les cellules ne sera pas appliqué. |
border-color | <couleur> | Couleur des bordures des tableaux de texte et des cellules de tableau. |
border-top-color | <couleur> | Couleur de la bordure supérieure des cellules de tableau. |
border-bottom-color | <color> | Couleur de la bordure inférieure des cellules de tableau. |
border-left-color | <couleur> | Couleur de la bordure gauche des cellules du tableau. |
border-right-color | <couleur> | Couleur de la bordure droite des cellules du tableau. |
border-style | none | dotted | dashed | dot-dash | dot-dot-dash | solid | double | groove | ridge | inset | outset | Style de bordure pour les tableaux de texte et les cellules de tableau. |
border-top-style | <border-style> | Style de bordure supérieure des cellules de tableau. |
border-bottom-style | <border-style> | Style de bordure inférieure des cellules de tableau. |
border-left-style | <border-style> | Style de bordure gauche des cellules du tableau. |
border-right-style | <border-style> | Style de la bordure droite des cellules du tableau. |
border-width | <width>px | Largeur de la bordure du tableau ou de la cellule |
border-top-width | <length>px | Largeur de la bordure supérieure des cellules du tableau. |
border-bottom-width | <length>px | Largeur de la bordure inférieure des cellules du tableau. |
border-left-width | <longueur>px | Largeur de la bordure gauche des cellules du tableau. |
border-right-width | <longueur>px | Largeur de la bordure droite des cellules du tableau. |
border-top | <largeur>px <style de bordure> <couleur de bordure> | Syntaxe abrégée pour définir la largeur, le style et la couleur de la bordure supérieure |
border-bottom | <largeur>px <style-de-bordure> <couleur-de-bordure> | Syntaxe abrégée pour définir la largeur, le style et la couleur de la bordure inférieure |
border-left | <largeur>px <style-de-bordure> <couleur-de-bordure> | Syntaxe abrégée pour définir la largeur, le style et la couleur de la bordure gauche |
border-right | <largeur>px <style-de-bordure> <couleur-de-bordure> | Syntaxe abrégée pour définir la largeur, le style et la couleur de la bordure droite |
border-top | <largeur>px <style-de-bordure> <couleur-de-bordure> | Syntaxe abrégée pour définir la largeur, le style et la couleur de la bordure supérieure |
border-bottom | <largeur>px <style-de-bordure> <couleur-de-bordure> | Syntaxe abrégée pour définir la largeur, le style et la couleur de la bordure inférieure |
border | <largeur>px <style-de-bordure> <couleur-de-bordure> | Syntaxe abrégée pour définir la largeur, le style et la couleur des quatre bordures |
background | [ <'background-color'> || <'background-image'> ] | Propriété abrégée d'arrière-plan |
page-break-before | [ auto | always ] | Permet d’imposer un saut de page avant le paragraphe ou le tableau |
page-break-after | [ auto | always ] | Permet d'imposer un saut de page après le paragraphe ou le tableau |
float | [ left | right | none ] | Spécifie l'emplacement d'une image ou d'un texte au sein d'un autre élément. Notez que la propriété « float » n'est prise en charge que pour les tableaux et les images. |
text-transform | [ majuscules | minuscules ] | Sélectionne la transformation qui sera appliquée au texte avant son affichage. |
font-kerning | [ normal | aucun ] | Active ou désactive le crénage entre les caractères du texte. |
font-variant | petites capitales | Applique la transformation « petites capitales » au texte avant son affichage. |
word-spacing | <largeur>px | Spécifie un espacement alternatif entre chaque mot. |
line-height | <nombre>[% | px | pt | cm] | Spécifie la hauteur d'une ligne. Elle peut prendre l'une des valeurs suivantes :
|
Remarque : certaines propriétés CSS ne sont prises en charge que lorsqu’elles sont appliquées à une balise de bloc, telle que <p>. Définir ces propriétés sur une balise <span>, par exemple, n’aura aucun effet. La marge est un exemple de ce type de propriété. Consultez QTextBlockFormat et QTextCharFormat pour un aperçu des options de mise en forme disponibles sur les blocs et les balises span dans QTextDocument.
Propriétés CSS spécifiques à Qt
Outre les propriétés CSS standard répertoriées précédemment, les propriétés spécifiques à Qt suivantes peuvent également être utilisées pour styliser un bloc de texte :
| Propriété | Valeurs | Description |
|---|---|---|
-qt-block-indent | <number> | Indente le bloc de texte du nombre d'espaces spécifié. |
-qt-list-indent | <number> | Indente les éléments de la liste du nombre d'espaces spécifié. |
-qt-list-number-prefix | <string> | Ajoute la chaîne de caractères indiquée en préfixe au numéro d'un élément dans une liste ordonnée HTML. |
-qt-list-number-suffix | <chaîne> | Ajoute la chaîne de caractères indiquée à la fin du numéro d'élément dans une liste ordonnée HTML. |
-qt-paragraph-type | empty | Masque le bloc de texte. |
-qt-table-type | root | frame | root Affiche les blocs de texte en ligne, sans bordures ni indentation, tandis que frame les affiche sur une nouvelle ligne, entourés d'un cadre. |
-qt-user-state | <number> | L'ajoute en tant que données utilisateur pour le bloc de texte. |
Sélecteurs CSS pris en charge
Toutes les classes de sélecteurs CSS 2.1 sont prises en charge, à l'exception des sélecteurs de pseudo-classes tels que :first-child, :visited et :hover.
© 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.