En esta página

QTextBlock Class

La clase QTextBlock proporciona un contenedor para fragmentos de texto en un QTextDocument. Más...

Cabecera: #include <QTextBlock>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui

Nota: Todas las funciones de esta clase son reentrantes.

Tipos públicos

Funciones Públicas

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

Descripción detallada

Un bloque de texto encapsula un bloque o párrafo de texto en QTextDocument. QTextBlock proporciona acceso de sólo lectura a la estructura de bloques/párrafos de QTextDocuments. Es de utilidad principalmente si se desea implementar diseños propios para la representación visual de un documento QTextDocument, o si se desea iterar sobre un documento y escribir el contenido en un formato propio personalizado.

Los bloques de texto son creados por sus documentos padre. Si necesita crear un nuevo bloque de texto, o modificar el contenido de un documento mientras examina su contenido, utilice en su lugar la interfaz basada en el cursor que ofrece QTextCursor.

Cada bloque de texto se encuentra en un position() específico dentro de un document(). El contenido del bloque puede obtenerse utilizando la función text(). La función length() determina el tamaño del bloque dentro del documento (incluidos los caracteres de formato). Las propiedades visuales del bloque vienen determinadas por su texto layout(), su charFormat() y su blockFormat().

Las funciones next() y previous() permiten iterar sobre bloques válidos consecutivos en un documento bajo la condición de que el documento no sea modificado por otros medios durante el proceso de iteración. Tenga en cuenta que, aunque los bloques se devuelven en secuencia, los bloques adyacentes pueden proceder de distintos lugares de la estructura del documento. La validez de un bloque puede determinarse llamando a isValid().

QTextBlock proporciona operadores de comparación para facilitar el trabajo con bloques: operator==() compara dos bloques por igualdad, operator!=() compara dos bloques por desigualdad, y operator<() determina si un bloque precede a otro en el mismo documento.

Diagrama que muestra varios bloques de texto en una jerarquía de marcos de texto, y el orden de iteración entre los bloques de texto.

Véase también QTextBlockFormat, QTextCharFormat, y QTextFragment.

Documentación de tipos de miembros

QTextBlock::Iterator

Sinónimo de estilo Qt para QTextBlock::iterator.

Documentación de funciones miembro

QTextBlock::QTextBlock(const QTextBlock &other)

Copia los atributos del bloque de texto other en este bloque de texto.

QTextBlock::iterator QTextBlock::begin() const

Devuelve un iterador de bloque de texto que apunta al principio del bloque de texto.

Véase también end().

QTextBlockFormat QTextBlock::blockFormat() const

Devuelve el QTextBlockFormat que describe las propiedades específicas del bloque.

Véase también charFormat().

int QTextBlock::blockFormatIndex() const

Devuelve un índice en la lista interna de formatos de bloque del documento para el formato del bloque de texto.

Véase también QTextDocument::allFormats().

int QTextBlock::blockNumber() const

Devuelve el número de este bloque, o -1 si el bloque no es válido.

Véase también QTextCursor::blockNumber().

QTextCharFormat QTextBlock::charFormat() const

Devuelve el QTextCharFormat que describe el formato de caracteres del bloque. El formato de caracteres del bloque se utiliza al insertar texto en un bloque vacío.

Véase también blockFormat().

int QTextBlock::charFormatIndex() const

Devuelve un índice en la lista interna de formatos de caracteres del documento para el formato de caracteres del bloque de texto.

Véase también QTextDocument::allFormats().

void QTextBlock::clearLayout()

Borra el QTextLayout que se utiliza para diseñar y mostrar el contenido del bloque.

Véase también layout().

bool QTextBlock::contains(int position) const

Devuelve true si el position dado se encuentra dentro del bloque de texto; en caso contrario devuelve false.

const QTextDocument *QTextBlock::document() const

Devuelve el documento de texto al que pertenece este bloque de texto, o nullptr si el bloque de texto no pertenece a ningún documento.

QTextBlock::iterator QTextBlock::end() const

Devuelve un iterador de bloque de texto que apunta al final del bloque de texto.

Véase también begin(), next() y previous().

int QTextBlock::firstLineNumber() const

Devuelve el número de la primera línea de este bloque, o -1 si el bloque no es válido. A menos que el diseño lo admita, el número de línea es idéntico al número de bloque.

Véase también QTextBlock::blockNumber().

bool QTextBlock::isValid() const

Devuelve true si este bloque de texto es válido; en caso contrario devuelve false.

bool QTextBlock::isVisible() const

Devuelve true si el bloque es visible; en caso contrario devuelve false.

Véase también setVisible().

QTextLayout *QTextBlock::layout() const

Devuelve el QTextLayout que se utiliza para maquetar y mostrar el contenido del bloque.

Tenga en cuenta que el objeto QTextLayout devuelto sólo puede modificarse desde la implementación documentChanged de una subclase QAbstractTextDocumentLayout. Cualquier cambio aplicado desde el exterior provocará un comportamiento indefinido.

Véase también clearLayout().

int QTextBlock::length() const

Devuelve la longitud del bloque en caracteres.

Nota: La longitud devuelta incluye todos los caracteres de formato, por ejemplo, la nueva línea.

Véase también text(), charFormat() y blockFormat().

int QTextBlock::lineCount() const

Devuelve el número de líneas. No todos los diseños de documento admiten esta función.

Véase también setLineCount().

QTextBlock QTextBlock::next() const

Devuelve el bloque de texto en el documento después de este bloque, o un bloque de texto vacío si este es el último.

Tenga en cuenta que el siguiente bloque puede estar en un marco o tabla diferente a este bloque.

Véase también previous(), begin() y end().

int QTextBlock::position() const

Devuelve el índice del primer carácter del bloque dentro del documento.

QTextBlock QTextBlock::previous() const

Devuelve el bloque de texto del documento anterior a este bloque, o un bloque de texto vacío si éste es el primero.

Tenga en cuenta que el bloque anterior puede estar en un marco o tabla diferente a este bloque.

Véase también next(), begin() y end().

int QTextBlock::revision() const

Devuelve la revisión de los bloques.

Véase también setRevision() y QTextDocument::revision().

void QTextBlock::setLineCount(int count)

Establece el recuento de líneas en count.

Véase también lineCount().

void QTextBlock::setRevision(int rev)

Establece una revisión de bloques en rev.

Véase también revision() y QTextDocument::revision().

void QTextBlock::setUserData(QTextBlockUserData *data)

Adjunta el objeto data dado al bloque de texto.

QTextBlockUserData puede utilizarse para almacenar configuraciones personalizadas. La propiedad se pasa al documento de texto subyacente, es decir, el objeto QTextBlockUserData proporcionado se borrará si se borra el bloque de texto correspondiente. El objeto de datos de usuario no se almacena en el historial de deshacer, por lo que no estará disponible después de deshacer la eliminación de un bloque de texto.

Por ejemplo, si escribes un editor de programación en un IDE, puede que quieras permitir a tu usuario establecer puntos de interrupción visualmente en tu código para un depurador integrado. En un editor de programación, una línea de texto suele corresponder a un QTextBlock. La interfaz QTextBlockUserData permite al desarrollador almacenar datos para cada QTextBlock, como por ejemplo en qué líneas del código fuente el usuario tiene establecido un punto de interrupción. Por supuesto, esto también podría almacenarse externamente, pero al almacenarlo dentro de QTextDocument, por ejemplo, se eliminará automáticamente cuando el usuario borre la línea asociada. En realidad es sólo una forma de almacenar información personalizada en QTextDocument sin usar propiedades personalizadas en QTextFormat que afectarían a la pila de deshacer/rehacer.

Véase también userData().

void QTextBlock::setUserState(int state)

Almacena el valor entero state especificado en el bloque de texto. Esto puede ser útil, por ejemplo, en un resaltador de sintaxis para almacenar un estado de análisis de texto.

Véase también userState().

void QTextBlock::setVisible(bool visible)

Establece la visibilidad del bloque en visible.

Véase también isVisible().

QString QTextBlock::text() const

Devuelve el contenido del bloque como texto sin formato.

Véase también length(), charFormat() y blockFormat().

Qt::LayoutDirection QTextBlock::textDirection() const

Devuelve la dirección del texto resuelto.

Si el bloque no tiene una dirección explícita establecida, resolverá la dirección a partir del contenido del bloque. Devuelve Qt::LeftToRight o Qt::RightToLeft.

Véase también QTextFormat::layoutDirection(), QString::isRightToLeft() y Qt::LayoutDirection.

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

Devuelve las opciones de formato de texto del bloque como una lista de rangos continuos de QTextCharFormat. El formato de caracteres del rango se utiliza al insertar texto dentro de los límites del rango.

Véase también charFormat() y blockFormat().

QTextList *QTextBlock::textList() const

Si el bloque representa un elemento de lista, devuelve la lista a la que pertenece el elemento; en caso contrario, devuelve nullptr.

QTextBlockUserData *QTextBlock::userData() const

Devuelve un puntero a un objeto QTextBlockUserData, si se ha establecido uno con setUserData(), o nullptr.

Véase también setUserData().

int QTextBlock::userState() const

Devuelve el valor entero establecido previamente con setUserState() o -1.

Véase también setUserState().

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

Devuelve true si este bloque de texto es diferente del bloque de texto other.

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

Devuelve true si este bloque de texto aparece antes que el bloque de texto other en el documento.

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

Asigna el bloque de texto other a este bloque de texto.

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

Devuelve true si este bloque de texto es el mismo que el bloque de texto 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.