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 |
- Lista de todos los miembros, incluidos los heredados
- QTextLine es parte de las APIs de Procesamiento de Texto Enriquecido.
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
| Constante | Valor |
|---|---|
QTextLine::CursorBetweenCharacters | 0 |
QTextLine::CursorOnCharacter | 1 |
enum QTextLine::Edge
| Constante | Valor |
|---|---|
QTextLine::Leading | 0 |
QTextLine::Trailing | 1 |
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.