En esta página

QTextLine Class

La clase QTextLine representa una línea de texto dentro de un QTextLayout. Más...

Cabecera: #include <QTextLine>
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

enum CursorPosition { CursorBetweenCharacters, CursorOnCharacter }
enum Edge { Leading, Trailing }

Funciones Públicas

QTextLine()
qreal ascent() const
qreal cursorToX(int *cursorPos, QTextLine::Edge edge = Leading) const
qreal cursorToX(int cursorPos, QTextLine::Edge edge = Leading) const
qreal descent() const
void draw(QPainter *painter, const QPointF &position) const
(since 6.5) QList<QGlyphRun> glyphRuns(int from, int length, QTextLayout::GlyphRunRetrievalFlags retrievalFlags) const
QList<QGlyphRun> glyphRuns(int from = -1, int length = -1) const
qreal height() const
qreal horizontalAdvance() const
bool isValid() const
qreal leading() const
bool leadingIncluded() const
int lineNumber() const
QRectF naturalTextRect() const
qreal naturalTextWidth() const
QPointF position() const
QRectF rect() const
void setLeadingIncluded(bool included)
void setLineWidth(qreal width)
void setNumColumns(int numColumns)
void setNumColumns(int numColumns, qreal alignmentWidth)
void setPosition(const QPointF &pos)
int textLength() const
int textStart() const
qreal width() const
qreal x() const
int xToCursor(qreal x, QTextLine::CursorPosition cpos = CursorBetweenCharacters) const
qreal y() const

Descripción detallada

Una línea de texto se crea normalmente mediante QTextLayout::createLine().

Una vez creada, la línea puede rellenarse mediante las funciones setLineWidth() o setNumColumns(). Una línea tiene una serie de atributos que incluyen el rectángulo que ocupa, rect(), sus coordenadas, x() y y(), sus textLength(), width() y naturalTextWidth(), y sus ascent() y descent() relativas al texto. La posición del cursor respecto a la línea está disponible en cursorToX() y su inversa en xToCursor(). Una línea puede moverse con setPosition().

Documentación de tipos de miembros

enum QTextLine::CursorPosition

ConstanteValor
QTextLine::CursorBetweenCharacters0
QTextLine::CursorOnCharacter1

enum QTextLine::Edge

ConstanteValor
QTextLine::Leading0
QTextLine::Trailing1

Documentación de la función miembro

QTextLine::QTextLine()

Crea una línea no válida.

qreal QTextLine::ascent() const

Devuelve el ascenso de la línea.

Véase también descent() y height().

qreal QTextLine::cursorToX(int *cursorPos, QTextLine::Edge edge = Leading) const

Convierte la posición del cursor cursorPos a la posición x correspondiente dentro de la línea, teniendo en cuenta la edge.

Si cursorPos no es una posición de cursor válida, se utilizará en su lugar la posición de cursor válida más cercana, y cursorPos se modificará para apuntar a esta posición de cursor válida.

Véase también xToCursor().

qreal QTextLine::cursorToX(int cursorPos, QTextLine::Edge edge = Leading) const

Se trata de una función sobrecargada.

qreal QTextLine::descent() const

Devuelve el descenso de la línea.

Véase también ascent() y height().

void QTextLine::draw(QPainter *painter, const QPointF &position) const

Dibuja una línea en el painter dado en el position especificado.

[since 6.5] QList<QGlyphRun> QTextLine::glyphRuns(int from, int length, QTextLayout::GlyphRunRetrievalFlags retrievalFlags) const

Devuelve los índices y posiciones de todos los glifos en este QTextLine para los caracteres en el rango definido por from y length. El índice from es relativo al principio del texto en el QTextLayout que lo contiene, y el rango debe estar dentro del rango de QTextLine tal y como viene dado por las funciones textStart() y textLength().

retrievalFlags especifica qué propiedades de QGlyphRun se recuperarán del diseño. Para minimizar las asignaciones y el consumo de memoria, esto debería establecerse para incluir sólo las propiedades a las que necesite acceder más tarde.

Si from es negativo, será por defecto textStart(), y si length es negativo será por defecto el valor de retorno de textLength().

Esta función se introdujo en Qt 6.5.

Véase también QTextLayout::glyphRuns().

QList<QGlyphRun> QTextLine::glyphRuns(int from = -1, int length = -1) const

Devuelve los índices y posiciones de todos los glifos en este QTextLine para los caracteres en el rango definido por from y length. El índice from es relativo al principio del texto en el QTextLayout que lo contiene, y el rango debe estar dentro del rango de QTextLine tal y como viene dado por las funciones textStart() y textLength().

Si from es negativo, se llamará por defecto a textStart(), y si length es negativo se llamará por defecto al valor de retorno de textLength().

Nota: Esto es equivalente a llamar a glyphRuns(from, length, QTextLayout::GlyphRunRetrievalFlag::GlyphIndexes | QTextLayout::GlyphRunRetrievalFlag::GlyphPositions).

Esta es una función sobrecargada.

Véase también QTextLayout::glyphRuns().

qreal QTextLine::height() const

Devuelve la altura de la línea. Es igual a ascent() + descent() si no se incluye el interlineado. Si se incluye el interlineado, es igual a ascent() + descent() + leading().

Véase también ascent(), descent(), leading() y setLeadingIncluded().

qreal QTextLine::horizontalAdvance() const

Devuelve el avance horizontal del texto. El avance del texto es la distancia desde su posición hasta la siguiente posición en la que se dibujaría el texto de forma natural.

Si añade el avance a la posición de la línea de texto y lo utiliza como posición de una segunda línea de texto, podrá colocar las dos líneas una al lado de la otra sin espacios intermedios.

bool QTextLine::isValid() const

Devuelve true si esta línea de texto es válida; en caso contrario devuelve false.

qreal QTextLine::leading() const

Devuelve el interlineado de la línea.

Véase también ascent(), descent() y height().

bool QTextLine::leadingIncluded() const

Devuelve true si se incluye el interlineado positivo en la altura de la línea; en caso contrario, devuelve false.

Por defecto, no se incluye el interlineado.

Véase también setLeadingIncluded().

int QTextLine::lineNumber() const

Devuelve la posición de la línea en el motor de texto.

QRectF QTextLine::naturalTextRect() const

Devuelve el rectángulo cubierto por la línea.

qreal QTextLine::naturalTextWidth() const

Devuelve la anchura de la línea ocupada por texto. Siempre es <= a width(), y es la anchura mínima que podría usar layout() sin cambiar la posición del salto de línea.

QPointF QTextLine::position() const

Devuelve la posición de la línea respecto a la posición del diseño de texto.

Véase también setPosition().

QRectF QTextLine::rect() const

Devuelve el rectángulo que delimita la línea.

Véase también x(), y(), textLength() y width().

void QTextLine::setLeadingIncluded(bool included)

Incluye el interlineado positivo en la altura de la línea si included es verdadero; de lo contrario, no incluye el interlineado.

Por defecto, el interlineado no se incluye.

Tenga en cuenta que el interlineado negativo se ignora, debe manejarse en el código que utiliza las líneas de texto dejando que las líneas se solapen.

Véase también leadingIncluded().

void QTextLine::setLineWidth(qreal width)

Dispone la línea con el valor width. La línea se rellena desde su posición inicial con tantos caracteres como quepan en ella. En caso de que el texto no pueda dividirse al final de la línea, se rellenará con caracteres adicionales hasta el siguiente espacio en blanco o final del texto.

void QTextLine::setNumColumns(int numColumns)

Dispone la línea. La línea se rellena desde su posición inicial con tantos caracteres como se especifiquen en numColumns. En caso de que el texto no pueda dividirse hasta numColumns caracteres, la línea se rellenará con tantos caracteres hasta el siguiente espacio en blanco o final del texto.

void QTextLine::setNumColumns(int numColumns, qreal alignmentWidth)

Dispone la línea. La línea se rellena desde su posición inicial con tantos caracteres como se especifiquen en numColumns. En caso de que el texto no pueda dividirse hasta numColumns caracteres, la línea se rellenará con tantos caracteres hasta el siguiente espacio en blanco o final del texto. La anchura de referencia para la alineación es alignmentWidth.

void QTextLine::setPosition(const QPointF &pos)

Mueve la línea a la posición pos.

Véase también position().

int QTextLine::textLength() const

Devuelve la longitud del texto de la línea.

Véase también naturalTextWidth().

int QTextLine::textStart() const

Devuelve el comienzo de la línea desde el principio de la cadena pasada a QTextLayout.

qreal QTextLine::width() const

Devuelve el ancho de línea especificado por la función layout().

Véase también naturalTextWidth(), x(), y(), textLength() y rect().

qreal QTextLine::x() const

Devuelve la posición x de la línea.

Véase también rect(), y(), textLength() y width().

int QTextLine::xToCursor(qreal x, QTextLine::CursorPosition cpos = CursorBetweenCharacters) const

Convierte la coordenada x x, a la posición del cursor más próxima, dependiendo del tipo de posición del cursor, cpos. Tenga en cuenta que la posición del cursor resultante incluye el posible texto del área de preedición.

Véase también cursorToX().

qreal QTextLine::y() const

Devuelve la posición y de la línea.

Véase también x(), rect(), textLength() y width().

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