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 |
- Lista de todos los miembros, incluyendo los heredados
- QTextBoundaryFinder es parte de Clases implícitamente compartidas y Clases para datos de cadena.
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
| Constante | Valor | Descripción |
|---|---|---|
QTextBoundaryFinder::NotAtBoundary | 0 | El buscador de límites no está en una posición límite. |
QTextBoundaryFinder::BreakOpportunity | 0x1f | El 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) | 0x20 | El 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) | 0x40 | El delimitador se encuentra al final de un grafema, una palabra, una frase o una línea. |
QTextBoundaryFinder::MandatoryBreak (since Qt 5.0) | 0x80 | El localizador de límites está al final de una línea (sólo puede ocurrir para un tipo de límite Línea). |
QTextBoundaryFinder::SoftHyphen | 0x100 | El 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
| Constante | Valor | Descripción |
|---|---|---|
QTextBoundaryFinder::Grapheme | 0 | Busca un grafema que sea el límite más pequeño. Incluye letras, signos de puntuación, números, etc. |
QTextBoundaryFinder::Word | 1 | Busca una palabra. |
QTextBoundaryFinder::Line | 3 | Busca posibles posiciones para dividir el texto en varias líneas. |
QTextBoundaryFinder::Sentence | 2 | Busca 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.