Sur cette page

QTextBlockFormat Class

La classe QTextBlockFormat fournit des informations de formatage pour les blocs de texte dans un site QTextDocument. Plus....

En-tête : #include <QTextBlockFormat>
CMake : find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake : QT += gui
Héritages : QTextFormat

Remarque : toutes les fonctions de cette classe sont réentrantes.

Types publics

enum LineHeightTypes { SingleHeight, ProportionalHeight, FixedHeight, MinimumHeight, LineDistanceHeight }
enum class MarkerType { NoMarker, Unchecked, Checked }

Fonctions publiques

QTextBlockFormat()
Qt::Alignment alignment() const
qreal bottomMargin() const
int headingLevel() const
int indent() const
bool isValid() const
qreal leftMargin() const
qreal lineHeight() const
qreal lineHeight(qreal scriptLineHeight, qreal scaling = 1.0) const
int lineHeightType() const
QTextBlockFormat::MarkerType marker() const
bool nonBreakableLines() const
QTextFormat::PageBreakFlags pageBreakPolicy() const
qreal rightMargin() const
void setAlignment(Qt::Alignment alignment)
void setBottomMargin(qreal margin)
void setHeadingLevel(int level)
void setIndent(int indentation)
void setLeftMargin(qreal margin)
void setLineHeight(qreal height, int heightType)
void setMarker(QTextBlockFormat::MarkerType marker)
void setNonBreakableLines(bool b)
void setPageBreakPolicy(QTextFormat::PageBreakFlags policy)
void setRightMargin(qreal margin)
void setTabPositions(const QList<QTextOption::Tab> &tabs)
void setTextIndent(qreal indent)
void setTopMargin(qreal margin)
QList<QTextOption::Tab> tabPositions() const
qreal textIndent() const
qreal topMargin() const

Description détaillée

Un document est composé d'une liste de blocs, représentés par des objets QTextBlock. Chaque bloc peut contenir un élément quelconque, tel qu'un paragraphe de texte, un tableau, une liste ou une image. Chaque bloc est associé à un QTextBlockFormat qui spécifie ses caractéristiques.

Pour tenir compte des langues de gauche à droite et de droite à gauche, vous pouvez définir la direction d'un bloc à l'aide de setLayoutDirection(). L'alignement des paragraphes est défini par setAlignment(). Les marges sont contrôlées par setTopMargin(), setBottomMargin(), setLeftMargin(), setRightMargin(). L'indentation générale est définie avec setIndent(), l'indentation de la première ligne avec setTextIndent().

L'espacement des lignes est défini avec setLineHeight() et récupéré via lineHeight() et lineHeightType(). Les types d'interlignes disponibles se trouvent dans l'énumération LineHeightTypes.

Le saut de ligne peut être activé et désactivé avec setNonBreakableLines().

La brosse utilisée pour peindre l'arrière-plan du paragraphe est définie avec setBackground(), et d'autres aspects de l'apparence du texte peuvent être personnalisés en utilisant la fonction setProperty() avec les valeurs OutlinePen, ForegroundBrush, et BackgroundBrush QTextFormat::Property .

Si un bloc de texte fait partie d'une liste, il peut également avoir un format de liste accessible avec la fonction listFormat().

Voir également QTextBlock et QTextCharFormat.

Documentation sur les types de membres

enum QTextBlockFormat::LineHeightTypes

Cette énumération décrit les différents types d'interlignes que les paragraphes peuvent avoir.

ConstanteValeurDescription
QTextBlockFormat::SingleHeight0Il s'agit de la hauteur de ligne par défaut : espacement simple.
QTextBlockFormat::ProportionalHeight1Cette valeur définit un espacement proportionnel à la ligne (en pourcentage). Par exemple, 200 pour un double espacement.
QTextBlockFormat::FixedHeight2Définit la hauteur de ligne à une hauteur de ligne fixe (en pixels).
QTextBlockFormat::MinimumHeight3Définit la hauteur de ligne minimale (en pixels).
QTextBlockFormat::LineDistanceHeight4Ceci ajoute la hauteur spécifiée entre les lignes (en pixels).

Voir également lineHeight(), lineHeightType() et setLineHeight().

enum class QTextBlockFormat::MarkerType

Cette énumération décrit les types de marqueurs qu'un élément de liste peut avoir. Si un élément de liste (un paragraphe pour lequel QTextBlock::textList() renvoie la liste) possède un marqueur, celui-ci est rendu à la place de la puce normale. De cette manière, les éléments de liste vérifiables peuvent être mélangés avec des éléments de liste simples dans la même liste, en remplaçant le type de puce spécifié par QTextListFormat::style() pour l'ensemble de la liste.

ConstanteValeurDescription
QTextBlockFormat::MarkerType::NoMarker0Valeur par défaut : la puce de l'élément de liste est affichée.
QTextBlockFormat::MarkerType::Unchecked1Au lieu de la puce de l'élément de liste, une case à cocher non cochée est affichée.
QTextBlockFormat::MarkerType::Checked2À la place de la puce de l'élément de liste, une case à cocher cochée sera affichée.

À l'avenir, cette fonction pourra être étendue pour spécifier d'autres types de décorations de paragraphe.

Voir également QTextListFormat::style().

Documentation des fonctions membres

QTextBlockFormat::QTextBlockFormat()

Construit un nouveau QTextBlockFormat.

Qt::Alignment QTextBlockFormat::alignment() const

Renvoie l'alignement du paragraphe.

Voir aussi setAlignment().

qreal QTextBlockFormat::bottomMargin() const

Renvoie la marge inférieure du paragraphe.

Voir aussi setBottomMargin() et topMargin().

int QTextBlockFormat::headingLevel() const

Renvoie le niveau du titre du paragraphe s'il s'agit d'un titre, ou 0 s'il ne s'agit pas d'un titre.

Voir aussi setHeadingLevel().

int QTextBlockFormat::indent() const

Renvoie l'indentation du paragraphe.

Voir aussi setIndent().

bool QTextBlockFormat::isValid() const

Renvoie true si ce format de bloc est valide, sinon renvoie false.

qreal QTextBlockFormat::leftMargin() const

Renvoie la marge gauche du paragraphe.

Voir aussi setLeftMargin(), rightMargin() et indent().

qreal QTextBlockFormat::lineHeight() const

Cette fonction renvoie la propriété LineHeight du paragraphe.

Voir aussi LineHeightTypes, setLineHeight(), et lineHeightType().

qreal QTextBlockFormat::lineHeight(qreal scriptLineHeight, qreal scaling = 1.0) const

Renvoie la hauteur des lignes du paragraphe en fonction de la hauteur de la ligne de script donnée par scriptLineHeight et du facteur scaling spécifié.

La valeur renvoyée dépend également du type LineHeightType du paragraphe ainsi que du paramètre LineHeight défini pour le paragraphe.

La mise à l'échelle est nécessaire pour les hauteurs qui comprennent un nombre fixe de pixels, afin de les mettre à l'échelle de manière appropriée pour l'impression.

Voir aussi LineHeightTypes, setLineHeight(), et lineHeightType().

int QTextBlockFormat::lineHeightType() const

Cette fonction renvoie la propriété LineHeightType du paragraphe.

Voir aussi LineHeightTypes, setLineHeight(), et lineHeight().

QTextBlockFormat::MarkerType QTextBlockFormat::marker() const

Renvoie le marqueur du paragraphe s'il a été défini, ou NoMarker s'il ne l'a pas été.

Voir aussi setMarker().

bool QTextBlockFormat::nonBreakableLines() const

Renvoie true si les lignes du paragraphe sont insécables ; sinon, renvoie false.

Voir aussi setNonBreakableLines().

QTextFormat::PageBreakFlags QTextBlockFormat::pageBreakPolicy() const

Renvoie la politique de saut de page actuellement définie pour le paragraphe. La valeur par défaut est QTextFormat::PageBreak_Auto.

Voir aussi setPageBreakPolicy().

qreal QTextBlockFormat::rightMargin() const

Renvoie la marge droite du paragraphe.

Voir aussi setRightMargin() et leftMargin().

void QTextBlockFormat::setAlignment(Qt::Alignment alignment)

Définit l'adresse alignment du paragraphe.

Voir aussi alignment().

void QTextBlockFormat::setBottomMargin(qreal margin)

Fixe le bas du paragraphe margin.

Voir aussi bottomMargin(), setTopMargin(), setLeftMargin() et setRightMargin().

void QTextBlockFormat::setHeadingLevel(int level)

Définit le titre du paragraphe level, où 1 correspond au type de titre le plus élevé (généralement avec la taille de police de titre la plus grande possible), et les valeurs croissantes sont progressivement plus profondes dans le document (et généralement avec des tailles de police plus petites). Par exemple, lors de la lecture d'une balise HTML H1, le niveau de l'en-tête est fixé à 1. La définition du niveau de l'en-tête ne modifie pas automatiquement la taille de la police ; cependant, QTextDocumentFragment::fromHtml() définit simultanément le niveau de l'en-tête et la taille de la police.

Si le paragraphe n'est pas un titre, le niveau doit être fixé à 0 (valeur par défaut).

Voir également headingLevel().

void QTextBlockFormat::setIndent(int indentation)

Définit la marge du paragraphe indentation. Les marges sont définies indépendamment de l'indentation avec setLeftMargin() et setTextIndent(). indentation est un nombre entier qui est multiplié par l'indentation standard du document, ce qui donne l'indentation réelle du paragraphe.

Voir également indent() et QTextDocument::indentWidth().

void QTextBlockFormat::setLeftMargin(qreal margin)

Définit la gauche du paragraphe margin. L'indentation peut être appliquée séparément avec setIndent().

Voir aussi leftMargin(), setRightMargin(), setTopMargin() et setBottomMargin().

void QTextBlockFormat::setLineHeight(qreal height, int heightType)

Fixe la hauteur de ligne du paragraphe à la valeur donnée par height, qui dépend de heightType de la manière décrite par l'énumération LineHeightTypes.

Voir aussi LineHeightTypes, lineHeight(), et lineHeightType().

void QTextBlockFormat::setMarker(QTextBlockFormat::MarkerType marker)

Définit le type d'ornement qui doit être affiché à côté du paragraphe à l'adresse marker. Par exemple, un élément de liste peut être orné d'une case à cocher, cochée ou non, en remplacement de sa puce. La valeur par défaut est NoMarker.

Voir aussi marker().

void QTextBlockFormat::setNonBreakableLines(bool b)

Si b est vrai, les lignes du paragraphe sont considérées comme insécables ; sinon, elles sont sécables.

Voir aussi nonBreakableLines().

void QTextBlockFormat::setPageBreakPolicy(QTextFormat::PageBreakFlags policy)

Définit la politique de saut de page pour le paragraphe à policy.

Voir aussi pageBreakPolicy().

void QTextBlockFormat::setRightMargin(qreal margin)

Fixe la droite du paragraphe margin.

Voir aussi rightMargin(), setLeftMargin(), setTopMargin() et setBottomMargin().

void QTextBlockFormat::setTabPositions(const QList<QTextOption::Tab> &tabs)

Définit les positions de tabulation pour le bloc de texte à celles spécifiées par tabs.

Voir aussi tabPositions().

void QTextBlockFormat::setTextIndent(qreal indent)

Définit l'adresse indent pour la première ligne du bloc. Cela permet à la première ligne d'un paragraphe d'être indentée différemment des autres lignes, ce qui améliore la lisibilité du texte.

Voir également textIndent(), setLeftMargin(), setRightMargin(), setTopMargin() et setBottomMargin().

void QTextBlockFormat::setTopMargin(qreal margin)

Fixe le haut du paragraphe margin.

Voir aussi topMargin(), setBottomMargin(), setLeftMargin() et setRightMargin().

QList<QTextOption::Tab> QTextBlockFormat::tabPositions() const

Renvoie une liste des positions de tabulation définies pour le bloc de texte.

Voir également setTabPositions().

qreal QTextBlockFormat::textIndent() const

Renvoie l'indentation du texte du paragraphe.

Voir aussi setTextIndent().

qreal QTextBlockFormat::topMargin() const

Renvoie la marge supérieure du paragraphe.

Voir aussi setTopMargin() et bottomMargin().

© 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.