Sur cette page

QTextBlockFormat Class

La classe `QTextBlockFormat` fournit des informations de mise en forme pour les blocs de texte d'un ` QTextDocument`. En savoir plus...

En-tête : #include <QTextBlockFormat>
CMake : find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake : QT += gui
Hérite de : 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 de type particulier, tel qu'un paragraphe de texte, un tableau, une liste ou une image. Chaque bloc est associé à un objet `QTextBlockFormat` qui spécifie ses caractéristiques.

Pour prendre en charge les langues s’écrivant de gauche à droite et de droite à gauche, vous pouvez définir la direction d’un bloc à l’aide de ` setLayoutDirection()` (). L’alignement du paragraphe est défini à l’aide de ` setAlignment()` (). Les marges sont contrôlées par ` setTopMargin()` (), ` setBottomMargin()` (), ` setLeftMargin()` (), ` setRightMargin()` (). L’indentation globale est définie à l’aide de ` setIndent()` (), et celle de la première ligne à l’aide de ` setTextIndent()` ().

L'interligne est défini à l'aide de setLineHeight() et récupéré via lineHeight() et lineHeightType(). Les types d'interligne disponibles sont répertoriés dans l'énumération LineHeightTypes.

Le retour à la ligne peut être activé ou désactivé à l'aide de la fonction ` setNonBreakableLines()`.

Le pinceau utilisé pour peindre l'arrière-plan du paragraphe est défini à l'aide de la fonction setBackground(), et d'autres aspects de l'apparence du texte peuvent être personnalisés à l'aide de 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 via 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'espacement entre les lignes que peuvent présenter les paragraphes.

ConstanteValeurDescription
QTextBlockFormat::SingleHeight0Il s'agit de l'interligne par défaut : interligne simple.
QTextBlockFormat::ProportionalHeight1Cette valeur définit un interligne proportionnel à la ligne (en pourcentage). Par exemple, définissez-la sur 200 pour un interligne double.
QTextBlockFormat::FixedHeight2Cette option définit la hauteur de ligne sur une valeur fixe (en pixels).
QTextBlockFormat::MinimumHeight3Ce paramètre définit la hauteur minimale de ligne (en pixels).
QTextBlockFormat::LineDistanceHeight4Cette option 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 comporter. Si un élément de liste (un paragraphe pour lequel la fonction ` QTextBlock::textList()` renvoie la liste) comporte un marqueur, celui-ci s'affiche à la place de la puce standard. De cette manière, les éléments de liste cochables peuvent être mélangés à des éléments de liste simples au sein d’une même liste, remplaçant ainsi le type de puce spécifié par la fonction ` QTextListFormat::style()` pour l’ensemble de la liste.

ConstanteValeurDescription
QTextBlockFormat::MarkerType::NoMarker0Il s’agit de la valeur par défaut : la puce de l’élément de liste s’affiche.
QTextBlockFormat::MarkerType::Unchecked1Au lieu de la puce de l'élément de liste, une case à cocher non cochée s'affichera.
QTextBlockFormat::MarkerType::Checked2À la place de la puce de l’élément de liste, une case à cocher cochée s’affichera.

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

Voir également QTextListFormat::style().

Documentation sur les fonctions membres

QTextBlockFormat::QTextBlockFormat()

Crée un nouvel objet 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 également setBottomMargin() et topMargin().

int QTextBlockFormat::headingLevel() const

Renvoie le niveau d'en-tête du paragraphe s'il s'agit d'un en-tête, ou 0 dans le cas contraire.

Voir également 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 également setLeftMargin(), rightMargin() et indent().

qreal QTextBlockFormat::lineHeight() const

Cette méthode renvoie la propriété LineHeight du paragraphe.

Voir également 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 indiquée par ` scriptLineHeight ` et du facteur ` scaling ` spécifié.

La valeur renvoyée dépend également du paramètre `LineHeightType` du paragraphe, ainsi que du paramètre `LineHeight` défini pour ce dernier.

La mise à l’échelle est nécessaire pour les hauteurs comprenant un nombre fixe de pixels, afin de les adapter correctement à l’impression.

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

int QTextBlockFormat::lineHeightType() const

Cette méthode renvoie la propriété LineHeightType du paragraphe.

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

QTextBlockFormat::MarkerType QTextBlockFormat::marker() const

Renvoie le marqueur du paragraphe s'il en existe un, ou « NoMarker » dans le cas contraire.

Voir aussi setMarker().

bool QTextBlockFormat::nonBreakableLines() const

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

Voir également setNonBreakableLines().

QTextFormat::PageBreakFlags QTextBlockFormat::pageBreakPolicy() const

Renvoie la règle de saut de page actuellement définie pour le paragraphe. La valeur par défaut est « QTextFormat::PageBreak_Auto ».

Voir également setPageBreakPolicy().

qreal QTextBlockFormat::rightMargin() const

Renvoie la marge droite du paragraphe.

Voir également setRightMargin() et leftMargin().

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

Définit l'alignment e du paragraphe.

Voir aussi alignment().

void QTextBlockFormat::setBottomMargin(qreal margin)

Définit l'margin e inférieure du paragraphe.

Voir également bottomMargin(), setTopMargin(), setLeftMargin() et setRightMargin().

void QTextBlockFormat::setHeadingLevel(int level)

Définit l'level du titre du paragraphe, où 1 correspond au type de titre de plus haut niveau (généralement associé à la plus grande taille de police possible pour un titre), et où les valeurs croissantes correspondent à des niveaux de titre de plus en plus bas dans le document (et généralement associés à des tailles de police plus petites). Par exemple, lors de la lecture d'une balise HTML H1, le niveau de titre est défini sur 1. La définition du niveau de titre ne modifie pas automatiquement la taille de police ; cependant, la fonction ` QTextDocumentFragment::fromHtml()` définit simultanément le niveau de titre et la taille de police.

Si le paragraphe n’est pas un titre, le niveau doit être défini sur 0 (valeur par défaut).

Voir également headingLevel().

void QTextBlockFormat::setIndent(int indentation)

Définit l'indentation du paragraphe. Les marges sont définies indépendamment de l'indentation à l'aide des fonctions setLeftMargin() et setTextIndent(). La 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 l'margin gauche du paragraphe. L' peut être appliquée séparément à l'aide de la fonction setIndent().

Voir également leftMargin(), setRightMargin(), setTopMargin() et setBottomMargin().

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

Définit la hauteur de ligne du paragraphe sur la valeur fournie par height, qui dépend de heightType selon les modalités décrites par l'énumération LineHeightTypes.

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

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

Définit le type d'élément décoratif à afficher à côté du paragraphe sur marker. Par exemple, un élément de liste peut être accompagné d'une case à cocher, cochée ou non, en lieu et place de sa puce. La valeur par défaut est NoMarker.

Voir également marker().

void QTextBlockFormat::setNonBreakableLines(bool b)

Si la valeur de « b » est « true », les lignes du paragraphe sont considérées comme non cassables ; dans le cas contraire, elles sont cassables.

Voir également nonBreakableLines().

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

Définit la règle de saut de page pour le paragraphe sur « policy ».

Voir également pageBreakPolicy().

void QTextBlockFormat::setRightMargin(qreal margin)

Définit l'margin e à droite du paragraphe.

Voir également rightMargin(), setLeftMargin(), setTopMargin() et setBottomMargin().

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

Définit les positions des tabulations du bloc de texte selon celles spécifiées par tabs.

Voir aussi tabPositions().

void QTextBlockFormat::setTextIndent(qreal indent)

Définit l'indent de la première ligne du bloc. Cela permet de mettre en retrait la première ligne d'un paragraphe 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)

Définit l'margin e supérieure du paragraphe.

Voir également 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 aussi 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 également 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.