En esta página

QTextBlockFormat Class

La clase QTextBlockFormat proporciona información de formato para bloques de texto en un QTextDocument. Más...

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

Nota: Todas las funciones de esta clase son reentrantes.

Tipos Públicos

enum LineHeightTypes { SingleHeight, ProportionalHeight, FixedHeight, MinimumHeight, LineDistanceHeight }
enum class MarkerType { NoMarker, Unchecked, Checked }

Funciones Públicas

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

Descripción Detallada

Un documento está compuesto por una lista de bloques, representados por objetos QTextBlock. Cada bloque puede contener un elemento de algún tipo, como un párrafo de texto, una tabla, una lista o una imagen. Cada bloque tiene asociado un QTextBlockFormat que especifica sus características.

Para atender a los idiomas de izquierda a derecha y de derecha a izquierda, puedes establecer la dirección de un bloque con setLayoutDirection(). La alineación de los párrafos se establece con setAlignment(). Los márgenes se controlan con setTopMargin(), setBottomMargin(), setLeftMargin(), setRightMargin(). La sangría general se establece con setIndent(), la sangría de la primera línea con setTextIndent().

El interlineado se establece con setLineHeight() y se recupera mediante lineHeight() y lineHeightType(). Los tipos de interlineado disponibles se encuentran en el enum LineHeightTypes.

El salto de línea puede activarse y desactivarse con setNonBreakableLines().

El pincel utilizado para pintar el fondo del párrafo se establece con setBackground(), y otros aspectos de la apariencia del texto pueden personalizarse utilizando la función setProperty() con los valores OutlinePen, ForegroundBrush, y BackgroundBrush QTextFormat::Property .

Si un bloque de texto forma parte de una lista, también puede tener un formato de lista accesible con la función listFormat().

Véase también QTextBlock y QTextCharFormat.

Documentación de tipos de miembros

enum QTextBlockFormat::LineHeightTypes

Este enum describe los distintos tipos de interlineado que pueden tener los párrafos.

ConstanteValorDescripción
QTextBlockFormat::SingleHeight0Esta es la altura de línea por defecto: interlineado sencillo.
QTextBlockFormat::ProportionalHeight1Establece el interlineado proporcional a la línea (en porcentaje). Por ejemplo, 200 para un interlineado doble.
QTextBlockFormat::FixedHeight2Establece una altura de línea fija (en píxeles).
QTextBlockFormat::MinimumHeight3Establece la altura mínima de línea (en píxeles).
QTextBlockFormat::LineDistanceHeight4Añade la altura especificada entre líneas (en píxeles).

Véase también lineHeight(), lineHeightType() y setLineHeight().

enum class QTextBlockFormat::MarkerType

Este enum describe los tipos de marcadores que puede tener un elemento de lista. Si un elemento de lista (un párrafo para el que QTextBlock::textList() devuelve la lista) tiene un marcador, se muestra en lugar de la viñeta normal. De este modo, los elementos de lista marcables pueden mezclarse con elementos de lista normales en la misma lista, anulando el tipo de viñeta especificado por QTextListFormat::style() para toda la lista.

ConstanteValorDescripción
QTextBlockFormat::MarkerType::NoMarker0Este es el valor por defecto: se mostrará la viñeta del elemento de lista.
QTextBlockFormat::MarkerType::Unchecked1En lugar de la viñeta del elemento de lista, se mostrará una casilla de verificación sin marcar.
QTextBlockFormat::MarkerType::Checked2En lugar de la viñeta del elemento de la lista, se mostrará una casilla de verificación marcada.

En el futuro, esto puede ampliarse para especificar otros tipos de decoraciones de párrafo.

Véase también QTextListFormat::style().

Documentación de las funciones miembro

QTextBlockFormat::QTextBlockFormat()

Construye un nuevo QTextBlockFormat.

Qt::Alignment QTextBlockFormat::alignment() const

Devuelve la alineación del párrafo.

Véase también setAlignment().

qreal QTextBlockFormat::bottomMargin() const

Devuelve el margen inferior del párrafo.

Véase también setBottomMargin() y topMargin().

int QTextBlockFormat::headingLevel() const

Devuelve el nivel de encabezamiento del párrafo si es un encabezamiento, o 0 si no lo es.

Véase también setHeadingLevel().

int QTextBlockFormat::indent() const

Devuelve la sangría del párrafo.

Véase también setIndent().

bool QTextBlockFormat::isValid() const

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

qreal QTextBlockFormat::leftMargin() const

Devuelve el margen izquierdo del párrafo.

Véase también setLeftMargin(), rightMargin() y indent().

qreal QTextBlockFormat::lineHeight() const

Devuelve la propiedad LineHeight del párrafo.

Véase también LineHeightTypes, setLineHeight(), y lineHeightType().

qreal QTextBlockFormat::lineHeight(qreal scriptLineHeight, qreal scaling = 1.0) const

Devuelve la altura de las líneas del párrafo basándose en la altura de la línea de guión dada por scriptLineHeight y el factor scaling especificado.

El valor devuelto también depende del tipo de altura de línea (LineHeightType) del párrafo, así como de la configuración de altura de línea (LineHeight) que se haya establecido para el párrafo.

El escalado es necesario para alturas que incluyen un número fijo de píxeles, para escalarlas adecuadamente para la impresión.

Véase también LineHeightTypes, setLineHeight(), y lineHeightType().

int QTextBlockFormat::lineHeightType() const

Devuelve la propiedad LineHeightType del párrafo.

Véase también LineHeightTypes, setLineHeight(), y lineHeight().

QTextBlockFormat::MarkerType QTextBlockFormat::marker() const

Devuelve el marcador del párrafo si se ha establecido uno, o NoMarker en caso contrario.

Véase también setMarker().

bool QTextBlockFormat::nonBreakableLines() const

Devuelve true si las líneas del párrafo no son rompibles; en caso contrario devuelve false.

Véase también setNonBreakableLines().

QTextFormat::PageBreakFlags QTextBlockFormat::pageBreakPolicy() const

Devuelve la política de salto de página actualmente establecida para el párrafo. Por defecto es QTextFormat::PageBreak_Auto.

Véase también setPageBreakPolicy().

qreal QTextBlockFormat::rightMargin() const

Devuelve el margen derecho del párrafo.

Véase también setRightMargin() y leftMargin().

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

Establece el párrafo alignment.

Véase también alignment().

void QTextBlockFormat::setBottomMargin(qreal margin)

Establece la parte inferior del párrafo margin.

Véase también bottomMargin(), setTopMargin(), setLeftMargin() y setRightMargin().

void QTextBlockFormat::setHeadingLevel(int level)

Establece el encabezado del párrafo level, donde 1 es el tipo de encabezado de nivel más alto (normalmente con el tamaño de fuente de encabezado más grande posible), y los valores crecientes son progresivamente más profundos en el documento (y normalmente con tamaños de fuente más pequeños). Por ejemplo, cuando se lee una etiqueta HTML H1, el nivel de encabezamiento se establece en 1. Establecer el nivel de encabezamiento no cambia automáticamente el tamaño de la fuente; sin embargo, QTextDocumentFragment::fromHtml() establece simultáneamente el nivel de encabezamiento y el tamaño de la fuente.

Si el párrafo no es un encabezado, el nivel debe ser 0 (por defecto).

Véase también headingLevel().

void QTextBlockFormat::setIndent(int indentation)

Establece la sangría del párrafo indentation. Los márgenes se establecen independientemente de la sangría con setLeftMargin() y setTextIndent(). indentation es un número entero que se multiplica por la sangría estándar de todo el documento, dando como resultado la sangría real del párrafo.

Véase también indent() y QTextDocument::indentWidth().

void QTextBlockFormat::setLeftMargin(qreal margin)

Establece la sangría izquierda del párrafo margin. La sangría puede aplicarse por separado con setIndent().

Véase también leftMargin(), setRightMargin(), setTopMargin() y setBottomMargin().

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

Establece la altura de línea para el párrafo al valor dado por height que depende de heightType de la manera descrita por el enum LineHeightTypes.

Véase también LineHeightTypes, lineHeight(), y lineHeightType().

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

Establece el tipo de adorno que debe aparecer junto al párrafo en marker. Por ejemplo, un elemento de lista puede adornarse con una casilla de verificación, marcada o desmarcada, en sustitución de su viñeta. El valor predeterminado es NoMarker.

Véase también marker().

void QTextBlockFormat::setNonBreakableLines(bool b)

Si b es verdadero, las líneas del párrafo se tratan como no rompibles; en caso contrario, son rompibles.

Véase también nonBreakableLines().

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

Establece la política de salto de página para el párrafo en policy.

Véase también pageBreakPolicy().

void QTextBlockFormat::setRightMargin(qreal margin)

Establece la derecha del párrafo margin.

Véase también rightMargin(), setLeftMargin(), setTopMargin() y setBottomMargin().

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

Establece las posiciones de tabulación para el bloque de texto a las especificadas por tabs.

Véase también tabPositions().

void QTextBlockFormat::setTextIndent(qreal indent)

Establece el indent para la primera línea del bloque. Esto permite que la primera línea de un párrafo tenga una sangría diferente a las demás líneas, mejorando la legibilidad del texto.

Véase también textIndent(), setLeftMargin(), setRightMargin(), setTopMargin() y setBottomMargin().

void QTextBlockFormat::setTopMargin(qreal margin)

Establece la parte superior del párrafo margin.

Véase también topMargin(), setBottomMargin(), setLeftMargin() y setRightMargin().

QList<QTextOption::Tab> QTextBlockFormat::tabPositions() const

Devuelve una lista de las posiciones de tabulación definidas para el bloque de texto.

Véase también setTabPositions().

qreal QTextBlockFormat::textIndent() const

Devuelve la sangría del texto del párrafo.

Véase también setTextIndent().

qreal QTextBlockFormat::topMargin() const

Devuelve el margen superior del párrafo.

Véase también setTopMargin() y 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.