En esta página

QTextBoundaryFinder Class

La clase QTextBoundaryFinder proporciona una forma de encontrar los límites de texto Unicode en una cadena. Más...

Cabecera: #include <QTextBoundaryFinder>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core

Nota: Todas las funciones de esta clase son reentrantes.

Tipos Públicos

enum BoundaryReason { NotAtBoundary, BreakOpportunity, StartOfItem, EndOfItem, MandatoryBreak, SoftHyphen }
flags BoundaryReasons
enum BoundaryType { Grapheme, Word, Line, Sentence }

Funciones Públicas

QTextBoundaryFinder()
QTextBoundaryFinder(QTextBoundaryFinder::BoundaryType type, const QString &string)
(since 6.0) QTextBoundaryFinder(QTextBoundaryFinder::BoundaryType type, QStringView string, unsigned char *buffer = nullptr, qsizetype bufferSize = 0)
QTextBoundaryFinder(QTextBoundaryFinder::BoundaryType type, const QChar *chars, qsizetype length, unsigned char *buffer = nullptr, qsizetype bufferSize = 0)
QTextBoundaryFinder(const QTextBoundaryFinder &other)
(since 6.11) QTextBoundaryFinder(QTextBoundaryFinder &&other)
~QTextBoundaryFinder()
QTextBoundaryFinder::BoundaryReasons boundaryReasons() const
bool isAtBoundary() const
bool isValid() const
qsizetype position() const
void setPosition(qsizetype position)
QString string() const
(since 6.11) void swap(QTextBoundaryFinder &other)
void toEnd()
qsizetype toNextBoundary()
qsizetype toPreviousBoundary()
void toStart()
QTextBoundaryFinder::BoundaryType type() const
(since 6.11) QTextBoundaryFinder &operator=(QTextBoundaryFinder &&other)
QTextBoundaryFinder &operator=(const QTextBoundaryFinder &other)

Descripción Detallada

QTextBoundaryFinder permite encontrar límites de texto Unicode en una cadena, de acuerdo con la especificación de límites de texto Unicode (ver Unicode Standard Annex #14 y Unicode Standard Annex #29).

QTextBoundaryFinder puede operar en QString en cuatro modos posibles en función del valor de BoundaryType.

Las unidades de caracteres unicode que conforman lo que el usuario considera un carácter o unidad básica de la lengua se denominan aquí grupos de grafemas. Los dos caracteres unicode 'A' + diéresis forman, por ejemplo, un grupo de grafemas, ya que el usuario los considera un solo carácter, aunque en este caso está representado por dos puntos de código unicode ( véase https://www.unicode.org/reports/tr29/#Grapheme_Cluster_Boundaries).

Los límites de palabra sirven para localizar el principio y el final de lo que una lengua considera una palabra ( véase https://www.unicode.org/reports/tr29/#Word_Boundaries).

Los límites de salto de línea indican los posibles lugares donde puede producirse un salto de línea, y los límites de frase muestran el principio y el final de frases completas ( véase https://www.unicode.org/reports/tr29/#Sentence_Boundaries y https://www.unicode.org/reports/tr14/).

La primera posición de una cadena es siempre un límite válido y se refiere a la posición anterior al primer carácter. La última posición a lo largo de la cadena también es válida y se refiere a la posición después del último carácter.

Documentación de tipos de miembros

enum QTextBoundaryFinder::BoundaryReason
flags QTextBoundaryFinder::BoundaryReasons

ConstanteValorDescripción
QTextBoundaryFinder::NotAtBoundary0El buscador de límites no está en una posición límite.
QTextBoundaryFinder::BreakOpportunity0x1fEl buscador de límites está en una posición de oportunidad de ruptura. Esta oportunidad de interrupción también puede ser un límite de elemento (inicio de elemento, fin de elemento o una combinación de ambos), un salto de línea obligatorio o un guión suave.
QTextBoundaryFinder::StartOfItem (since Qt 5.0)0x20El buscador de límites se encuentra al principio de un grafema, una palabra, una frase o una línea.
QTextBoundaryFinder::EndOfItem (since Qt 5.0)0x40El delimitador se encuentra al final de un grafema, una palabra, una frase o una línea.
QTextBoundaryFinder::MandatoryBreak (since Qt 5.0)0x80El localizador de límites está al final de una línea (sólo puede ocurrir para un tipo de límite Línea).
QTextBoundaryFinder::SoftHyphen0x100El localizador de límites está en el guión suave (sólo puede ocurrir para un tipo de límite Línea).

El tipo BoundaryReasons es un tippedef para QFlags<BoundaryReason>. Almacena una combinación OR de valores BoundaryReason.

enum QTextBoundaryFinder::BoundaryType

ConstanteValorDescripción
QTextBoundaryFinder::Grapheme0Busca un grafema que sea el límite más pequeño. Incluye letras, signos de puntuación, números, etc.
QTextBoundaryFinder::Word1Busca una palabra.
QTextBoundaryFinder::Line3Busca posibles posiciones para dividir el texto en varias líneas.
QTextBoundaryFinder::Sentence2Busca los límites de una frase. Incluye puntos, signos de interrogación, etc.

Documentación de las funciones

QTextBoundaryFinder::QTextBoundaryFinder()

Construye un objeto QTextBoundaryFinder inválido.

QTextBoundaryFinder::QTextBoundaryFinder(QTextBoundaryFinder::BoundaryType type, const QString &string)

Crea un objeto QTextBoundaryFinder de type que opera en string.

[since 6.0] QTextBoundaryFinder::QTextBoundaryFinder(QTextBoundaryFinder::BoundaryType type, QStringView string, unsigned char *buffer = nullptr, qsizetype bufferSize = 0)

Crea un objeto QTextBoundaryFinder de type que opera sobre string.

buffer es un buffer de trabajo opcional de tamaño bufferSize que puede pasar al QTextBoundaryFinder. Si el buffer es suficientemente grande para contener los datos de trabajo requeridos (bufferSize >= length + 1), lo usará en lugar de asignar su propio buffer.

Advertencia: QTextBoundaryFinder no crea una copia de string. Es responsabilidad del programador de la aplicación asegurarse de que el array está asignado mientras el objeto QTextBoundaryFinder permanezca vivo. Lo mismo se aplica a buffer.

Esta función se introdujo en Qt 6.0.

QTextBoundaryFinder::QTextBoundaryFinder(QTextBoundaryFinder::BoundaryType type, const QChar *chars, qsizetype length, unsigned char *buffer = nullptr, qsizetype bufferSize = 0)

Igual que QTextBoundaryFinder(type, QStringView(chars, length), buffer, bufferSize).

Se trata de una función sobrecargada.

QTextBoundaryFinder::QTextBoundaryFinder(const QTextBoundaryFinder &other)

Copia el objeto QTextBoundaryFinder, other.

[noexcept, since 6.11] QTextBoundaryFinder::QTextBoundaryFinder(QTextBoundaryFinder &&other)

Mover-construye un nuevo QTextBoundaryFinder a partir de other.

Nota: El objeto movido-desde-otro se coloca en un estado parcialmente formado, en el que las únicas operaciones válidas son la destrucción y la asignación de un nuevo valor.

Esta función se introdujo en Qt 6.11.

[noexcept] QTextBoundaryFinder::~QTextBoundaryFinder()

Destruye el objeto QTextBoundaryFinder.

QTextBoundaryFinder::BoundaryReasons QTextBoundaryFinder::boundaryReasons() const

Devuelve las razones por las que el buscador de límites ha elegido la posición actual como límite.

bool QTextBoundaryFinder::isAtBoundary() const

Devuelve true si el objeto position() está actualmente en un límite de texto válido.

bool QTextBoundaryFinder::isValid() const

Devuelve true si el buscador de límites de texto es válido; en caso contrario devuelve false. Por defecto QTextBoundaryFinder no es válido.

qsizetype QTextBoundaryFinder::position() const

Devuelve la posición actual de QTextBoundaryFinder.

El rango va de 0 (el principio de la cadena) a la longitud de la cadena, ambos inclusive.

Véase también setPosition().

void QTextBoundaryFinder::setPosition(qsizetype position)

Establece la posición actual de QTextBoundaryFinder en position.

Si position está fuera de los límites, sólo se vinculará a las posiciones válidas. En este caso, las posiciones válidas van de 0 a la longitud de la cadena, ambas inclusive.

Véase también position().

QString QTextBoundaryFinder::string() const

Devuelve la cadena sobre la que opera el objeto QTextBoundaryFinder.

[noexcept, since 6.11] void QTextBoundaryFinder::swap(QTextBoundaryFinder &other)

Cambia este buscador de límites de texto por other. Esta operación es muy rápida y nunca falla.

Esta función se introdujo en Qt 6.11.

void QTextBoundaryFinder::toEnd()

Mueve el buscador al final de la cadena. Equivale a setPosition(string.length()).

Véase también setPosition() y position().

qsizetype QTextBoundaryFinder::toNextBoundary()

Mueve el QTextBoundaryFinder a la siguiente posición del límite y devuelve esa posición.

Devuelve -1 si no hay un siguiente límite.

qsizetype QTextBoundaryFinder::toPreviousBoundary()

Mueve el QTextBoundaryFinder a la posición del límite anterior y devuelve esa posición.

Devuelve -1 si no hay límite anterior.

void QTextBoundaryFinder::toStart()

Mueve el buscador al principio de la cadena. Equivale a setPosition(0).

Véase también setPosition() y position().

QTextBoundaryFinder::BoundaryType QTextBoundaryFinder::type() const

Devuelve el tipo de QTextBoundaryFinder.

[noexcept, since 6.11] QTextBoundaryFinder &QTextBoundaryFinder::operator=(QTextBoundaryFinder &&other)

Mover-asigna other a esta instancia QTextBoundaryFinder.

Nota: El objeto movido-desde-otro se coloca en un estado parcialmente formado, en el que las únicas operaciones válidas son la destrucción y la asignación de un nuevo valor.

Esta función se introdujo en Qt 6.11.

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

Asigna el objeto, other, a otro objeto QTextBoundaryFinder.

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