Sur cette page

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.

BaliseDescriptionCommentaire
aAncre ou lienPrend en charge les attributs href et name.
addressAdresse
bGras
bigPolice plus grande
blockquoteParagraphe en retrait
bodyCorps du documentPrend en charge l'attribut bgcolor, qui peut être une spécification de couleur color name ou #RRGGBB.
brRetour à la ligne
centerParagraphe centré
citeCitation en ligneIdentique à i.
codeCodeIdentique à tt.
ddDonnées de définition
delSuppriméesIdentique à s. Depuis Qt 6.11
dfnDéfinitionIdentique à i.
divDivision du documentPrend en charge les attributs de bloc standard.
dlListe de définitionsPrend en charge les attributs de bloc standard.
dtTerme de définitionPrend en charge les attributs du bloc standard.
emMise en évidenceIdentique à i.
fontTaille, famille et/ou couleur de la policePrend en charge les attributs suivants : size, face, et color (Qt color names ou #RRGGBB).
h1Titre de niveau 1Prend en charge les attributs de bloc standard.
h2Titre de niveau 2Prend en charge les attributs de bloc standard.
h3Titre de niveau 3Prend en charge les attributs du bloc standard.
h4Titre de niveau 4Prend en charge les attributs du bloc standard.
h5Titre de niveau 5Prend en charge les attributs du bloc standard.
h6Niveau 6Prend en charge les attributs de bloc standard.
headEn-tête du document
hrLigne horizontalePrend en charge l'attribut width, qui peut être spécifié en tant que valeur absolue ou relative (%).
htmlDocument HTML
iItalique
imgImagePrend en charge les attributs src, source (pour la compatibilité avec Qt 3), width et height.
kbdTexte saisi par l'utilisateur
metaMéta-informationSi 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
nobrTexte insécable
olListe ordonnéePrend en charge les attributs de liste standard.
pParagrapheAligné à gauche par défaut. Prend en charge les attributs de bloc standard.
preTexte préformaté
qtDocument de texte riche QtSynonyme de html. Fourni à des fins de compatibilité avec les versions antérieures de Qt.
sBarré
sampExemple de codeIdentique à tt.
smallPetite police
spanÉléments groupés
strongFortIdentique à b.
subIndice
supIndice supérieur
tableTableauPrend en charge les attributs suivants : border, bgcolor (Qt color names ou #RRGGBB), cellspacing, cellpadding, width (absolu ou relatif), et height.
tbodyCorps du tableauNe fait rien.
tdCellule de données du tableauPrend en charge les attributs standard des cellules de tableau.
tfootPied de page du tableauNe fait rien.
thCellule d'en-tête de tableauPrend en charge les attributs standard des cellules de tableau.
theadEn-tête de tableauSi la balise thead est spécifiée, elle est utilisée lors de l'impression de tableaux s'étendant sur plusieurs pages.
titleTitre du documentLa valeur spécifiée à l'aide de la balise title est disponible via QTextDocument::metaInformation().
trLigne du tableauPrend en charge l'attribut bgcolor, qui peut être une spécification de couleur color name ou #RRGGBB.
ttPolice Typewrite
uSouligné
ulListe non ordonnéePrend en charge les attributs de liste standard.
varVariableIdentique à 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)
  • colspan
  • rowspan
  • align (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éValeursDescription 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>pxTaille 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-decorationnone | [ 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>pxIndentation du texte de la première ligne en pixels
white-spacenormal | pre | nowrap | pre-wrapDéclare comment les espaces blancs sont traités en HTML.
margin-top<length>pxMarge supérieure du paragraphe en pixels
margin-bottom<length>pxMarge du paragraphe inférieur en pixels
margin-left<length>pxMarge de gauche du paragraphe en pixels
margin-right<length>pxMarge du paragraphe de droite en pixels
padding-top<length>pxMarge de la cellule supérieure du tableau en pixels
padding-bottom<length>pxMarge de la cellule inférieure du tableau en pixels
padding-left<length>pxCellule gauche du tableau en pixels
padding-right<length>pxRemplissage de la cellule droite du tableau en pixels
padding<length>pxCette option permet de définir toutes les propriétés de remplissage en une seule fois.
vertical-alignbaseline | sub | super | middle | top | bottomAlignement 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-collapsecollapse | separateMode 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-styleaucun | pointillé | tiret | point-tiret | point-tiret | plein | double | rainure | crête | inset | outsetStyle 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>pxLargeur de la bordure du tableau ou de la cellule
border-top-width<length>pxLargeur de la bordure supérieure des cellules du tableau.
border-bottom-width<length>pxLargeur de la bordure inférieure des cellules du tableau.
border-left-width<length>pxLargeur de la bordure gauche des cellules du tableau.
border-right-width<length>pxLargeur 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-variantpetites-capsulesEffectue la transformation smallcaps sur le texte avant de l'afficher.
word-spacing<width>pxSpé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
  • une hauteur de ligne fixe en pixels, points ou centimètres.
  • un pourcentage de la taille actuelle de la police.

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éValeursDescription
-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-typeemptyMasque le bloc de texte.
-qt-table-typeroot | frameroot 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.