Sur cette page

QTextBlock Class

La classe QTextBlock fournit un conteneur pour les fragments de texte dans une page QTextDocument. Plus....

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

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

Types publics

Fonctions publiques

QTextBlock(const QTextBlock &other)
QTextBlock::iterator begin() const
QTextBlockFormat blockFormat() const
int blockFormatIndex() const
int blockNumber() const
QTextCharFormat charFormat() const
int charFormatIndex() const
void clearLayout()
bool contains(int position) const
const QTextDocument *document() const
QTextBlock::iterator end() const
int firstLineNumber() const
bool isValid() const
bool isVisible() const
QTextLayout *layout() const
int length() const
int lineCount() const
QTextBlock next() const
int position() const
QTextBlock previous() const
int revision() const
void setLineCount(int count)
void setRevision(int rev)
void setUserData(QTextBlockUserData *data)
void setUserState(int state)
void setVisible(bool visible)
QString text() const
Qt::LayoutDirection textDirection() const
QList<QTextLayout::FormatRange> textFormats() const
QTextList *textList() const
QTextBlockUserData *userData() const
int userState() const
bool operator!=(const QTextBlock &other) const
bool operator<(const QTextBlock &other) const
QTextBlock &operator=(const QTextBlock &other)
bool operator==(const QTextBlock &other) const

Description détaillée

Un bloc de texte encapsule un bloc ou un paragraphe de texte dans un document QTextDocument. QTextBlock fournit un accès en lecture seule à la structure bloc/paragraphe des documents QText. Il est principalement utile si vous souhaitez mettre en œuvre vos propres mises en page pour la représentation visuelle d'un document QTextDocument, ou si vous souhaitez itérer sur un document et en écrire le contenu dans votre propre format personnalisé.

Les blocs de texte sont créés par leurs documents parents. Si vous devez créer un nouveau bloc de texte ou modifier le contenu d'un document tout en examinant son contenu, utilisez plutôt l'interface basée sur le curseur fournie par QTextCursor.

Chaque bloc de texte est situé à un endroit précis, position(), dans un document document(). Le contenu du bloc peut être obtenu en utilisant la fonction text(). La fonction length() détermine la taille du bloc dans le document (y compris les caractères de formatage). Les propriétés visuelles du bloc sont déterminées par son texte layout(), son charFormat() et son blockFormat().

Les fonctions next() et previous() permettent l'itération sur des blocs valides consécutifs dans un document à condition que le document ne soit pas modifié par d'autres moyens pendant le processus d'itération. Il convient de noter que, bien que les blocs soient renvoyés dans l'ordre, les blocs adjacents peuvent provenir de différents endroits de la structure du document. La validité d'un bloc peut être déterminée en appelant isValid().

QTextBlock fournit des opérateurs de comparaison pour faciliter le travail avec les blocs : operator==() compare deux blocs pour l'égalité, operator!=() compare deux blocs pour l'inégalité, et operator<() détermine si un bloc précède un autre dans le même document.

Diagramme montrant plusieurs blocs de texte dans une hiérarchie de cadres de texte, et l'ordre d'itération entre les blocs de texte.

Voir également QTextBlockFormat, QTextCharFormat, et QTextFragment.

Documentation sur les types de membres

QTextBlock::Iterator

Synonyme de style Qt pour QTextBlock::iterator.

Documentation des fonctions membres

QTextBlock::QTextBlock(const QTextBlock &other)

Copie les attributs du bloc de texte other dans ce bloc de texte.

QTextBlock::iterator QTextBlock::begin() const

Renvoie un itérateur de bloc de texte pointant vers le début du bloc de texte.

Voir également end().

QTextBlockFormat QTextBlock::blockFormat() const

Renvoie l'adresse QTextBlockFormat qui décrit les propriétés spécifiques au bloc.

Voir également charFormat().

int QTextBlock::blockFormatIndex() const

Renvoie un index dans la liste interne des formats de blocs du document pour le format du bloc de texte.

Voir aussi QTextDocument::allFormats().

int QTextBlock::blockNumber() const

Renvoie le numéro de ce bloc, ou -1 si le bloc n'est pas valide.

Voir aussi QTextCursor::blockNumber().

QTextCharFormat QTextBlock::charFormat() const

Renvoie l'adresse QTextCharFormat qui décrit le format de caractères du bloc. Le format de caractères du bloc est utilisé lors de l'insertion de texte dans un bloc vide.

Voir également blockFormat().

int QTextBlock::charFormatIndex() const

Renvoie un index dans la liste interne des formats de caractères du document pour le format de caractères du bloc de texte.

Voir aussi QTextDocument::allFormats().

void QTextBlock::clearLayout()

Efface le site QTextLayout utilisé pour la mise en page et l'affichage du contenu du bloc.

Voir aussi layout().

bool QTextBlock::contains(int position) const

Renvoie true si l'adresse position est située dans le bloc de texte ; sinon, renvoie false.

const QTextDocument *QTextBlock::document() const

Renvoie le document de texte auquel appartient ce bloc de texte, ou nullptr si le bloc de texte n'appartient à aucun document.

QTextBlock::iterator QTextBlock::end() const

Renvoie un itérateur de bloc de texte pointant vers la fin du bloc de texte.

Voir aussi begin(), next(), et previous().

int QTextBlock::firstLineNumber() const

Renvoie le numéro de la première ligne de ce bloc, ou -1 si le bloc n'est pas valide. Sauf si la mise en page le permet, le numéro de ligne est identique au numéro de bloc.

Voir aussi QTextBlock::blockNumber().

bool QTextBlock::isValid() const

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

bool QTextBlock::isVisible() const

Renvoie true si le bloc est visible ; sinon, renvoie false.

Voir aussi setVisible().

QTextLayout *QTextBlock::layout() const

Renvoie l'objet QTextLayout utilisé pour mettre en page et afficher le contenu du bloc.

Notez que l'objet QTextLayout renvoyé ne peut être modifié qu'à partir de l'implémentation documentChanged d'une sous-classe QAbstractTextDocumentLayout. Toute modification appliquée de l'extérieur entraîne un comportement indéfini.

Voir également clearLayout().

int QTextBlock::length() const

Renvoie la longueur du bloc en caractères.

Remarque : la longueur renvoyée inclut tous les caractères de formatage, par exemple la nouvelle ligne.

Voir également text(), charFormat() et blockFormat().

int QTextBlock::lineCount() const

Renvoie le nombre de lignes. Cette fonctionnalité n'est pas prise en charge par toutes les mises en page de documents.

Voir aussi setLineCount().

QTextBlock QTextBlock::next() const

Renvoie le bloc de texte dans le document qui suit ce bloc, ou un bloc de texte vide s'il s'agit du dernier.

Notez que le bloc suivant peut se trouver dans un cadre ou un tableau différent de ce bloc.

Voir aussi previous(), begin() et end().

int QTextBlock::position() const

Renvoie l'index du premier caractère du bloc dans le document.

QTextBlock QTextBlock::previous() const

Renvoie le bloc de texte du document précédant ce bloc, ou un bloc de texte vide s'il s'agit du premier.

Notez que le bloc précédent peut se trouver dans un cadre ou une table différents de ceux de ce bloc.

Voir aussi next(), begin() et end().

int QTextBlock::revision() const

Renvoie la révision des blocs.

Voir aussi setRevision() et QTextDocument::revision().

void QTextBlock::setLineCount(int count)

Fixe le nombre de lignes à count.

Voir aussi lineCount().

void QTextBlock::setRevision(int rev)

Fixe la révision d'un bloc à rev.

Voir aussi revision() et QTextDocument::revision().

void QTextBlock::setUserData(QTextBlockUserData *data)

Attache l'objet data au bloc de texte.

QTextBlockUserData peut être utilisé pour stocker des paramètres personnalisés. La propriété est transmise au document texte sous-jacent, c'est-à-dire que l'objet QTextBlockUserData fourni sera supprimé si le bloc texte correspondant est supprimé. L'objet de données utilisateur n'est pas stocké dans l'historique d'annulation, il ne sera donc pas disponible après l'annulation de la suppression d'un bloc de texte.

Par exemple, si vous écrivez un éditeur de programmation dans un IDE, vous pouvez permettre à l'utilisateur de définir visuellement des points d'arrêt dans votre code pour un débogueur intégré. Dans un éditeur de programmation, une ligne de texte correspond généralement à un QTextBlock. L'interface QTextBlockUserData permet au développeur de stocker des données pour chaque QTextBlock, comme par exemple les lignes du code source dans lesquelles l'utilisateur a placé un point d'arrêt. Bien sûr, ces données pourraient également être stockées à l'extérieur, mais en les stockant à l'intérieur de QTextDocument, elles seront par exemple automatiquement supprimées lorsque l'utilisateur effacera la ligne associée. Il s'agit en fait d'un moyen de stocker des informations personnalisées dans QTextDocument sans utiliser de propriétés personnalisées dans QTextFormat, ce qui affecterait la pile undo/redo.

Voir aussi userData().

void QTextBlock::setUserState(int state)

Enregistre la valeur entière state spécifiée dans le bloc de texte. Cela peut être utile, par exemple, dans un surligneur syntaxique pour stocker l'état d'analyse du texte.

Voir aussi userState().

void QTextBlock::setVisible(bool visible)

Fixe la visibilité du bloc à visible.

Voir aussi isVisible().

QString QTextBlock::text() const

Renvoie le contenu du bloc sous forme de texte brut.

Voir aussi length(), charFormat() et blockFormat().

Qt::LayoutDirection QTextBlock::textDirection() const

Renvoie la direction du texte résolue.

Si le bloc n'a pas de direction explicite, la direction sera déterminée à partir du contenu du bloc. Retourne soit Qt::LeftToRight soit Qt::RightToLeft.

Voir également QTextFormat::layoutDirection(), QString::isRightToLeft() et Qt::LayoutDirection.

QList<QTextLayout::FormatRange> QTextBlock::textFormats() const

Renvoie les options de format de texte du bloc sous la forme d'une liste de plages continues de QTextCharFormat. Le format de caractère de la plage est utilisé lors de l'insertion de texte à l'intérieur des limites de la plage.

Voir également charFormat() et blockFormat().

QTextList *QTextBlock::textList() const

Si le bloc représente un élément de liste, il renvoie la liste à laquelle l'élément appartient ; sinon, il renvoie nullptr.

QTextBlockUserData *QTextBlock::userData() const

Renvoie un pointeur sur un objet QTextBlockUserData, s'il a été défini avec setUserData(), ou nullptr.

Voir aussi setUserData().

int QTextBlock::userState() const

Renvoie la valeur entière précédemment définie avec setUserState() ou -1.

Voir aussi setUserState().

bool QTextBlock::operator!=(const QTextBlock &other) const

Renvoie true si ce bloc de texte est différent du bloc de texte other.

bool QTextBlock::operator<(const QTextBlock &other) const

Renvoie true si ce bloc de texte se trouve avant le bloc de texte other dans le document.

QTextBlock &QTextBlock::operator=(const QTextBlock &other)

Attribue le bloc de texte other à ce bloc de texte.

bool QTextBlock::operator==(const QTextBlock &other) const

Renvoie true si ce bloc de texte est identique au bloc de texte other.

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