Sous-ensemble HTML pris en charge
Les widgets de texte de Qt Widgets sont capables d'afficher du texte riche, spécifié en utilisant un sous-ensemble de balises HTML 4. Les widgets qui utilisent QTextDocument, tels que QLabel et QTextEdit, sont capables d'afficher du texte riche spécifié 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, en définissant la propriété text d'une étiquette avec la chaîne "<b>Hello</b> <i>Qt!</i>", l'étiquette affichera un texte comme celui-ci : Bonjour Qt !
Lorsque le balisage HTML est utilisé pour le texte, Qt suit les règles définies par la spécification HTML 4. Cela inclut des propriétés par défaut pour la mise en page du texte, telles que la direction du flux de texte (de gauche à droite) qui peut être modifiée en appliquant l'attribut dir aux blocs de texte.
Balises prises en charge
Le tableau suivant répertorie les balises HTML prises en charge par le moteur de texte riche de Qt.
Remarque : la fonctionnalité mise en œuvre pour les balises énumérées ci-dessous est un sous-ensemble de la spécification HTML 4 complète. Tous les attributs ne sont pas pris en charge, voir les commentaires pour chaque balise.
| Balise | Description | Commentaire |
|---|---|---|
a | Ancre ou lien | Prend en charge les attributs href et name. |
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 color name ou #RRGGBB. |
br | Retour à la ligne | |
center | Paragraphe centré | |
cite | Citation en ligne | Identique à i. |
code | Code | Identique à tt. |
dd | Données de définition | |
del | Supprimées | 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 du bloc standard. |
em | Mise en évidence | Identique à i. |
font | Taille, famille 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 du bloc standard. |
h4 | Titre de niveau 4 | Prend en charge les attributs du bloc standard. |
h5 | Titre de niveau 5 | Prend en charge les attributs du bloc standard. |
h6 | Niveau 6 | Prend en charge les attributs de bloc standard. |
head | En-tête du document | |
hr | Ligne horizontale | Prend en charge l'attribut width, qui peut être spécifié en tant que valeur absolue ou relative (%). |
html | Document HTML | |
i | Italique | |
img | Image | Prend en charge les attributs src, source (pour la compatibilité avec Qt 3), width et height. |
kbd | Texte saisi par l'utilisateur | |
meta | Méta-information | Si un encodage de texte est spécifié à l'aide de la balise meta, il est pris en charge par Qt::codecForHtml(). De même, si un encodage est spécifié à QTextDocument::toHtml(), l'encodage 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 de texte riche Qt | Synonyme de html. Fourni à des fins 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 | Fort | Identique à b. |
sub | Indice | |
sup | Indice supérieur | |
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 | Ne fait rien. |
td | Cellule de données du tableau | Prend en charge les attributs standard des cellules de tableau. |
tfoot | Pied de page du tableau | Ne fait rien. |
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 disponible via QTextDocument::metaInformation(). |
tr | Ligne du tableau | Prend en charge l'attribut bgcolor, qui peut être une spécification de couleur color name ou #RRGGBB. |
tt | Police Typewrite | |
u | Souligné | |
ul | Liste non ordonnée | Prend en charge les attributs de liste standard. |
var | Variable | Identique à i. |
Attributs des blocs
Les attributs suivants sont pris en charge par les balises div, dl, dt, h1, h2, h3, h4, h5, h6, p:
align(left,right,center,justify)dir(ltr,rtl)
Attributs de liste
L'attribut suivant est pris en charge par les balises ol et ul:
type(1,a,A,square,disc,circle)
En outre, 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 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 riche de Qt :
| Propriété | Valeurs | Description de la propriété |
|---|---|---|
background-color | <color> | Couleur d'arrière-plan des éléments |
background-image | <uri> | Image d'arrière-plan pour les éléments |
color | <color> | Couleur d'avant-plan du texte |
font-family | <nom de famille> | Nom de la famille de polices |
font-size | [small | medium | large | x-large | xx-large ] | <size>pt | <size>px | Taille de la police par rapport à 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 la graisse de la police utilisée pour le texte, où normal et bold sont mis en correspondance avec les graisses correspondantes de QFont. Les valeurs numériques correspondent à 8 fois les valeurs de poids é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é de raccourci de la police |
text-indent | <length>px | Indentation du texte de la première ligne en pixels |
white-space | normal | pre | nowrap | pre-wrap | Déclare comment les espaces blancs sont traités en HTML. |
margin-top | <length>px | Marge supérieure du paragraphe en pixels |
margin-bottom | <length>px | Marge du paragraphe inférieur en pixels |
margin-left | <length>px | Marge de gauche du paragraphe en pixels |
margin-right | <length>px | Marge du paragraphe de droite en pixels |
padding-top | <length>px | Marge de la cellule supérieure du tableau en pixels |
padding-bottom | <length>px | Marge de la cellule inférieure du tableau en pixels |
padding-left | <length>px | Cellule gauche du tableau en pixels |
padding-right | <length>px | Remplissage de la cellule droite du tableau en pixels |
padding | <length>px | Cette option permet de définir toutes les propriétés de remplissage en une seule fois. |
vertical-align | baseline | sub | super | middle | top | bottom | Alignement vertical du texte. Pour l'alignement vertical dans les cellules de tableau de texte, seules les propriétés middle, top et bottom s'appliquent. |
border-collapse | collapse | separate | Mode de réduction des bordures pour les tableaux de texte. Si l'option est réglée sur "collapse", l'espacement des cellules n'est pas appliqué. |
border-color | <color> | Couleur de la bordure 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. | 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 | aucun | pointillé | tiret | point-tiret | point-tiret | plein | double | rainure | crête | 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 pour les cellules de tableau. |
border-bottom-style | <border-style> | Style de bordure inférieure pour les cellules de tableau. |
border-left-style | <border-style> | Style de bordure gauche pour les cellules du tableau. |
border-right-style | <border-style> | Style de bordure droite pour les 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 | <length>px | Largeur de la bordure gauche des cellules du tableau. |
border-right-width | <length>px | Largeur de la bordure droite des cellules du tableau. |
border-top | <width>px <border-style> <border-color> | Cette abréviation permet de définir la largeur, le style et la couleur de la bordure supérieure. |
border-bottom | <width>px <border-style> <border-color> | Raccourci pour définir la largeur, le style et la couleur de la bordure inférieure |
border-left | <width>px <border-style> <border-color> <width>px <border-style> <border-color> | Raccourci pour définir la largeur, le style et la couleur de la bordure gauche |
border-right | <width>px <border-style> <border-color> <width>px <border-style> <border-color> | Raccourci pour définir la largeur, le style et la couleur de la bordure droite |
border-top | <width>px <border-style> <border-color> <width>px <border-style> <border-color> | Raccourci pour définir la largeur, le style et la couleur de la bordure supérieure |
border-bottom | <width>px <border-style> <border-color> <width>px <border-style> <border-color> | Raccourci pour définir la largeur, le style et la couleur de la bordure inférieure |
border | <width>px <border-style> <border-color> <width>px <border-style> <border-color> | Raccourci pour définir la largeur, le style et la couleur des quatre bordures |
background | [<'background-color'> || <'background-image'> ] | Propriété raccourcie de l'arrière-plan |
page-break-before | [ auto | always ] | Permet d'imposer un saut de page avant le paragraphe/tableau |
page-break-after | [ auto | toujours ] | Permet d'imposer un saut de page après le paragraphe/tableau |
float | [ left | right | none ] | Spécifie l'endroit où une image ou un texte sera placé dans un autre élément. Notez que la propriété float n'est prise en charge que pour les tableaux et les images. |
text-transform | [ majuscule | minuscule ] | Sélectionne la transformation qui sera effectuée sur le texte avant de l'afficher. |
font-kerning | [ normal | none ] | Active ou désactive le crénage entre les caractères du texte. |
font-variant | petites-capsules | Effectue la transformation smallcaps sur le texte avant de l'afficher. |
word-spacing | <width>px | Spécifie un espacement alternatif entre chaque mot. |
line-height | <number>[% | px | pt | cm] | Spécifie la hauteur d'une ligne. Il peut s'agir de l'une des valeurs suivantes
|
Remarque : certaines propriétés CSS ne sont prises en charge que lorsqu'elles sont appliquées à une balise bloc, telle que <p>. La définition de ces propriétés sur un site <span>, par exemple, n'aura aucun effet. La marge est un exemple de propriété de ce type. Voir QTextBlockFormat et QTextCharFormat pour une vue d'ensemble des options de formatage disponibles sur les blocs et les travées dans QTextDocument.
Propriétés CSS spécifiques à Qt
Outre les propriétés CSS standard énumérées précédemment, les propriétés suivantes, spécifiques à Qt, peuvent également être utilisées pour styliser un bloc de texte :
| Propriété | Valeurs | Description |
|---|---|---|
-qt-block-indent | <number> | Le bloc de texte est indenté 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> | Préfixe la chaîne donnée au numéro de liste dans une liste ordonnée HTML. |
-qt-list-number-suffix | <chaîne> | Suffixe la chaîne donnée au numéro de liste dans une liste ordonnée HTML. |
-qt-paragraph-type | empty | Masque le bloc de texte. |
-qt-table-type | root | frame | root rend les blocs de texte en ligne sans bordure ni indentation, tandis que frame les rend sur une nouvelle ligne avec un cadre autour. |
-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.