QTextBlock Class
La classe `QTextBlock` fournit un conteneur pour les fragments de texte dans une ` QTextDocument`. En savoir plus...
| En-tête : | #include <QTextBlock> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
| qmake : | QT += gui |
- Liste de tous les membres, y compris les membres hérités
- QTextBlock fait partie des API de traitement de texte enrichi.
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 Q QTextDocument. QTextBlock fournit un accès en lecture seule à la structure des blocs et des paragraphes des documents Q . Elle est principalement utile si vous souhaitez implémenter vos propres mises en page pour la représentation visuelle d’un QTextDocument, ou si vous souhaitez parcourir un document et écrire son 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é à une position spécifique position() dans un document document(). Le contenu du bloc peut être obtenu à l’aide de la fonction text(). La fonction length() détermine la taille du bloc au sein du document (y compris les caractères de mise en forme). Les propriétés visuelles du bloc sont déterminées par son texte layout(), sa couleur charFormat() et sa taille blockFormat().
Les fonctions ` next()` et ` previous()` permettent de parcourir les blocs valides consécutifs d’un document, à condition que celui-ci ne soit pas modifié par d’autres moyens pendant le processus de parcours. Notez que, bien que les blocs soient renvoyés dans l’ordre, des blocs adjacents peuvent provenir d’emplacements différents dans la structure du document. La validité d’un bloc peut être déterminée en appelant la fonction ` isValid()`.
QTextBlock fournit des opérateurs de comparaison pour faciliter l'utilisation des blocs : operator==() compare deux blocs pour vérifier s'ils sont égaux, operator!=() compare deux blocs pour vérifier s'ils sont inégaux, et operator<() détermine si un bloc précède un autre dans le même document.

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 » vers 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 aussi end().
QTextBlockFormat QTextBlock::blockFormat() const
Renvoie l'QTextBlockFormat, qui décrit les propriétés spécifiques au bloc.
Voir aussi charFormat().
int QTextBlock::blockFormatIndex() const
Renvoie un index dans la liste interne des formats de bloc du document, correspondant au 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'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 aussi blockFormat().
int QTextBlock::charFormatIndex() const
Renvoie un index dans la liste interne des formats de caractères du document, correspondant au format de caractères du bloc de texte.
Voir aussi QTextDocument::allFormats().
void QTextBlock::clearLayout()
Efface l'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'position on fournie se trouve dans le bloc de texte ; sinon, renvoie « false ».
const QTextDocument *QTextBlock::document() const
Renvoie le document 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 également 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. À moins que la mise en page ne le prenne en charge, 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 la mise en page et l'affichage du contenu du bloc.
Notez que l'objet ` QTextLayout ` renvoyé ne peut être modifié qu'à partir de l'implémentation de la méthode `documentChanged` d'une sous-classe de ` QAbstractTextDocumentLayout `. Toute modification appliquée depuis l'extérieur entraîne un comportement indéfini.
Voir aussi clearLayout().
int QTextBlock::length() const
Renvoie la longueur du bloc en caractères.
Remarque : la longueur renvoyée inclut tous les caractères de mise en forme, par exemple les sauts de 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 document.
Voir également setLineCount().
QTextBlock QTextBlock::next() const
Renvoie le bloc de texte du 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 celui-ci.
Voir également 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 situé avant 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 un tableau différent de celui-ci.
Voir également next(), begin() et end().
int QTextBlock::revision() const
Renvoie la révision des blocs.
Voir également setRevision() et QTextDocument::revision().
void QTextBlock::setLineCount(int count)
Définit le nombre de lignes à count.
Voir également lineCount().
void QTextBlock::setRevision(int rev)
Définit la révision d'un bloc sur « rev ».
Voir également revision() et QTextDocument::revision().
void QTextBlock::setUserData(QTextBlockUserData *data)
Associe l'objet ` data ` spécifié 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 de texte correspondant est supprimé. L’objet de données utilisateur n’est pas stocké dans l’historique des annulations ; il ne sera donc plus disponible après l’annulation de la suppression d’un bloc de texte.
Par exemple, si vous développez un éditeur de code dans un IDE, vous souhaiterez peut-être 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 code, une ligne de texte correspond généralement à un objet ` QTextBlock`. L’interface ` QTextBlockUserData ` permet au développeur de stocker des données pour chaque ` QTextBlock`, comme par exemple les lignes du code source sur lesquelles l’utilisateur a défini un point d’arrêt. Bien sûr, ces informations pourraient également être stockées en externe, mais en les enregistrant au sein de l’ QTextDocument, elles seront par exemple automatiquement supprimées lorsque l’utilisateur supprimera la ligne associée. Il s’agit simplement d’un moyen de stocker des informations personnalisées dans l’ QTextDocument sans utiliser de propriétés personnalisées dans QTextFormat, ce qui affecterait la pile d’annulation/rétablissement.
Voir également userData().
void QTextBlock::setUserState(int state)
Enregistre la valeur entière spécifiée state dans le bloc de texte. Cela peut s'avérer utile, par exemple, dans un surligneur de syntaxe pour enregistrer l'état d'analyse d'un texte.
Voir également userState().
void QTextBlock::setVisible(bool visible)
Définit la visibilité du bloc sur « visible ».
Voir aussi isVisible().
QString QTextBlock::text() const
Renvoie le contenu du bloc sous forme de texte brut.
Voir également length(), charFormat() et blockFormat().
Qt::LayoutDirection QTextBlock::textDirection() const
Renvoie la direction du texte déterminée.
Si aucune direction n’est explicitement définie pour le bloc, celle-ci est déterminée à partir du contenu du bloc. Renvoie 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 formatage du texte du bloc sous la forme d'une liste de plages continues d'QTextCharFormat. Le formatage des caractères 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, renvoie la liste à laquelle appartient cet élément ; sinon, renvoie « nullptr ».
QTextBlockUserData *QTextBlock::userData() const
Renvoie un pointeur vers un objet ` QTextBlockUserData `, si celui-ci a été défini à l'aide de ` setUserData()` ou ` nullptr`.
Voir également setUserData().
int QTextBlock::userState() const
Renvoie la valeur entière précédemment définie à l'aide de la fonction 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 apparaît 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.