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 |
- Liste de tous les membres, y compris les membres hérités
- QTextBlockFormat fait partie de Rich Text Processing APIs et de Implicitly Shared Classes.
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.
| Constante | Valeur | Description |
|---|---|---|
QTextBlockFormat::SingleHeight | 0 | Il s'agit de la hauteur de ligne par défaut : espacement simple. |
QTextBlockFormat::ProportionalHeight | 1 | Cette valeur définit un espacement proportionnel à la ligne (en pourcentage). Par exemple, 200 pour un double espacement. |
QTextBlockFormat::FixedHeight | 2 | Définit la hauteur de ligne à une hauteur de ligne fixe (en pixels). |
QTextBlockFormat::MinimumHeight | 3 | Définit la hauteur de ligne minimale (en pixels). |
QTextBlockFormat::LineDistanceHeight | 4 | Ceci 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.
| Constante | Valeur | Description |
|---|---|---|
QTextBlockFormat::MarkerType::NoMarker | 0 | Valeur par défaut : la puce de l'élément de liste est affichée. |
QTextBlockFormat::MarkerType::Unchecked | 1 | Au lieu de la puce de l'élément de liste, une case à cocher non cochée est affichée. |
QTextBlockFormat::MarkerType::Checked | 2 | À 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.