Sur cette page

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.

BaliseDescriptionCommentaire
aAncre ou lienPrend en charge les attributs href, name et title.
addressAdresse
bGras
bigPolice plus grande
blockquoteParagraphe en retrait
bodyCorps du documentPrend en charge l'attribut « bgcolor », qui peut être une spécification de couleur Qt color name ou #RRGGBB.
brSaut de ligne
centerParagraphe centré
citeCitation en ligneIdentique à i.
codeCodeIdentique à tt.
ddDonnées de définition
delSuppriméIdentique à 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 de bloc standard.
emMise en évidenceIdentique à « i ».
fontTaille, police 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 de bloc standard.
h4Titre de niveau 4Prend en charge les attributs de bloc standard.
h5Titre de niveau 5Prend en charge les attributs de bloc standard.
h6Titre de niveau 6Prend en charge les attributs de bloc standard.
headEn-tête de document
hrLigne horizontalePrend en charge l'attribut « width », qui peut être spécifié sous forme de valeur absolue ou relative (%).
htmlDocument HTML
iItalique
imgImagePrend en charge les attributs src, width, height, style, alt et title.
kbdTexte saisi par l’utilisateur
metaMéta-informationsSi 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
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 Qt en texte enrichiSynonyme de « html ». Fournis pour des raisons de compatibilité avec les versions antérieures de Qt.
sBarré
sampExemple de codeIdentique à « tt ».
smallPetite police
spanÉléments groupés
strongGrasIdentique à b.
subIndice
supExposant
tableTableauPrend en charge les attributs suivants : border, bgcolor (Qt color names ou #RRGGBB), cellspacing, cellpadding, width (absolu ou relatif) et height.
tbodyCorps du tableauN'a aucun effet.
tdCellule de données du tableauPrend en charge les attributs standard des cellules de tableau.
tfootPied de tableauN'a aucune fonction.
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 accessible via ` QTextDocument::metaInformation()`.
trLigne de tableauPrend en charge l’attribut ` bgcolor `, qui peut être une color name Qt ou une spécification de couleur de type ` #RRGGBB `.
ttPolice de type dactylographique
uSouligné
ulListe non ordonnéePrend en charge les attributs de liste standard.
varVariableIdentique à « 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)
  • 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 enrichi de Qt :

PropriétéValeursDescription
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>pxTaille 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-decorationnone | [ 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>pxIndentation de la première ligne de texte en pixels
white-spacenormal | pre | nowrap | pre-wrapDéfinit la manière dont les espaces blancs sont gérés dans le code HTML.
margin-top<length>pxMarge supérieure du paragraphe en pixels
margin-bottom<length>pxMarge inférieure du paragraphe en pixels
margin-left<length>pxMarge gauche du paragraphe en pixels
margin-right<longueur>pxMarge droite du paragraphe en pixels
padding-top<longueur>pxRemplissage supérieur de la cellule du tableau en pixels
padding-bottom<longueur>pxRemplissage inférieur des cellules du tableau en pixels
padding-left<longueur>pxRemplissage à gauche de la cellule du tableau en pixels
padding-right<longueur>pxRemplissage à droite des cellules du tableau en pixels
padding<longueur>pxSyntaxe abrégée permettant de définir simultanément toutes les propriétés de remplissage.
vertical-alignbaseline | sub | super | middle | top | bottomAlignement 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-collapsecollapse | separateMode 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-stylenone | dotted | dashed | dot-dash | dot-dot-dash | solid | double | groove | ridge | inset | outsetStyle 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>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<longueur>pxLargeur de la bordure gauche des cellules du tableau.
border-right-width<longueur>pxLargeur 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-variantpetites capitalesApplique la transformation « petites capitales » au texte avant son affichage.
word-spacing<largeur>pxSpé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 :
  • une hauteur de ligne fixe en pixels, points ou centimètres ;
  • un pourcentage de la taille de police actuelle.

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