QTextBoundaryFinder Class
La classe QTextBoundaryFinder permet de détecter les limites de texte Unicode dans une chaîne de caractères. En savoir plus...
| En-tête : | #include <QTextBoundaryFinder> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake : | QT += core |
- Liste de tous les membres, y compris les membres hérités
- QTextBoundaryFinder fait partie des classes à partage implicite et des classes pour les données de type chaîne de caractères.
Remarque : toutes les fonctions de cette classe sont réentrantes.
Types publics
| enum | BoundaryReason { NotAtBoundary, BreakOpportunity, StartOfItem, EndOfItem, MandatoryBreak, SoftHyphen } |
| flags | BoundaryReasons |
| enum | BoundaryType { Grapheme, Word, Line, Sentence } |
Fonctions publiques
| 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) |
Description détaillée
QTextBoundaryFinder permet de détecter les limites de texte Unicode dans une chaîne, conformément à la spécification relative aux limites de texte Unicode (voir l'annexe n° 14 et l'annexe n° 29 de la norme Unicode).
QTextBoundaryFinder peut opérer sur une chaîne de caractères ( QString ) selon quatre modes possibles, en fonction de la valeur de l'BoundaryType.
Les unités de caractères Unicode qui constituent ce que l'utilisateur considère comme un caractère ou une unité de base de la langue sont ici appelées « grappes de graphèmes ». Les deux caractères Unicode « A » + tréma forment par exemple un groupe de graphèmes, car l’utilisateur les considère comme un seul caractère, bien qu’ils soient dans ce cas représentés par deux points de code Unicode (voir https://www.unicode.org/reports/tr29/#Grapheme_Cluster_Boundaries).
Les limites de mot servent à localiser le début et la fin de ce qu’une langue considère comme un mot (voir https://www.unicode.org/reports/tr29/#Word_Boundaries).
Les limites de saut de ligne indiquent les emplacements possibles où un saut de ligne pourrait se produire, tandis que les limites de phrase indiquent le début et la fin de phrases entières (voir https://www.unicode.org/reports/tr29/#Sentence_Boundaries et https://www.unicode.org/reports/tr14/).
La première position d’une chaîne est toujours une limite valide et correspond à la position précédant le premier caractère. La dernière position, correspondant à la fin de la chaîne, est également valide et correspond à la position suivant le dernier caractère.
Documentation sur les types de membres
enum QTextBoundaryFinder::BoundaryReason
flags QTextBoundaryFinder::BoundaryReasons
| Constante | Valeur | Description |
|---|---|---|
QTextBoundaryFinder::NotAtBoundary | 0 | Le détecteur de limite ne se trouve pas à une position de limite. |
QTextBoundaryFinder::BreakOpportunity | 0x1f | Le détecteur de limite se trouve à une position de rupture potentielle. Une telle rupture potentielle peut également correspondre à une limite d'élément (StartOfItem, EndOfItem ou une combinaison des deux), à un saut de ligne obligatoire ou à un trait d'union souple. |
QTextBoundaryFinder::StartOfItem (since Qt 5.0) | 0x20 | Le détecteur de limite se trouve au début d’un graphème, d’un mot, d’une phrase ou d’une ligne. |
QTextBoundaryFinder::EndOfItem (since Qt 5.0) | 0x40 | Le détecteur de limite se trouve à la fin d’un graphème, d’un mot, d’une phrase ou d’une ligne. |
QTextBoundaryFinder::MandatoryBreak (since Qt 5.0) | 0x80 | Le détecteur de limite se trouve à la fin d’une ligne (cela ne peut se produire que pour le type de limite « Ligne »). |
QTextBoundaryFinder::SoftHyphen | 0x100 | Le détecteur de limite se trouve au niveau du trait d’union (cela ne peut se produire que pour le type de limite « Ligne »). |
Le type `BoundaryReasons` est une définition de type pour `QFlags<BoundaryReason>`. Il stocke une combinaison OU de valeurs `BoundaryReason`.
enum QTextBoundaryFinder::BoundaryType
| Constante | Valeur | Description |
|---|---|---|
QTextBoundaryFinder::Grapheme | 0 | Recherche un graphème constituant la plus petite unité. Cela inclut les lettres, les signes de ponctuation, les chiffres et bien plus encore. |
QTextBoundaryFinder::Word | 1 | Recherche un mot. |
QTextBoundaryFinder::Line | 3 | Recherche les emplacements possibles pour couper le texte en plusieurs lignes. |
QTextBoundaryFinder::Sentence | 2 | Recherche les limites de phrase. Celles-ci incluent les points, les points d'interrogation, etc. |
Documentation des fonctions membres
QTextBoundaryFinder::QTextBoundaryFinder()
Crée un objet `QTextBoundaryFinder` non valide.
QTextBoundaryFinder::QTextBoundaryFinder(QTextBoundaryFinder::BoundaryType type, const QString &string)
Crée un objet `QTextBoundaryFinder` de type ` type ` fonctionnant sur ` string`.
[since 6.0] QTextBoundaryFinder::QTextBoundaryFinder(QTextBoundaryFinder::BoundaryType type, QStringView string, unsigned char *buffer = nullptr, qsizetype bufferSize = 0)
Crée un objet `QTextBoundaryFinder` de type ` type ` agissant sur un ` string`.
buffer est un tampon de travail facultatif de taille bufferSize que vous pouvez transmettre au QTextBoundaryFinder. Si le tampon est suffisamment grand pour contenir les données de travail requises (bufferSize >= length + 1), il l'utilisera à la place d'allouer son propre tampon.
Avertissement : QTextBoundaryFinder ne crée pas de copie de string. Il incombe au programmeur de s'assurer que le tableau reste alloué tant que l'objet QTextBoundaryFinder est actif. Il en va de même pour buffer.
Cette fonction a été introduite dans Qt 6.0.
QTextBoundaryFinder::QTextBoundaryFinder(QTextBoundaryFinder::BoundaryType type, const QChar *chars, qsizetype length, unsigned char *buffer = nullptr, qsizetype bufferSize = 0)
Equivalent à QTextBoundaryFinder(type, QStringView(chars, length), buffer, bufferSize).
Il s'agit d'une fonction surchargée.
QTextBoundaryFinder::QTextBoundaryFinder(const QTextBoundaryFinder &other)
Copie l'objet QTextBoundaryFinder, other.
[noexcept, since 6.11] QTextBoundaryFinder::QTextBoundaryFinder(QTextBoundaryFinder &&other)
La fonction `move` construit un nouvel objet `QTextBoundaryFinder` à partir de ` other`.
Remarque : l'objet « other », à partir duquel le déplacement a été effectué, est placé dans un état partiellement formé, dans lequel les seules opérations valides sont la destruction et l'affectation d'une nouvelle valeur.
Cette fonction a été introduite dans Qt 6.11.
[noexcept] QTextBoundaryFinder::~QTextBoundaryFinder()
Détruit l'objet « QTextBoundaryFinder ».
QTextBoundaryFinder::BoundaryReasons QTextBoundaryFinder::boundaryReasons() const
Renvoie les raisons pour lesquelles l'outil de recherche de limites a choisi la position actuelle comme limite.
bool QTextBoundaryFinder::isAtBoundary() const
Renvoie ` true ` si la méthode ` position()` de l'objet se trouve actuellement à une limite de texte valide.
bool QTextBoundaryFinder::isValid() const
Renvoie « true » si le détecteur de limites de texte est valide ; sinon, renvoie « false ». Par défaut, « QTextBoundaryFinder » n'est pas valide.
qsizetype QTextBoundaryFinder::position() const
Renvoie la position actuelle de l'QTextBoundaryFinder.
La plage va de 0 (le début de la chaîne) à la longueur de la chaîne, incluse.
Voir aussi setPosition().
void QTextBoundaryFinder::setPosition(qsizetype position)
Définit la position actuelle de l'QTextBoundaryFinder sur position.
Si ` position ` est hors limites, il sera limité aux seules positions valides. Dans ce cas, les positions valides vont de 0 à la longueur de la chaîne, incluse.
Voir également position().
QString QTextBoundaryFinder::string() const
Renvoie la chaîne sur laquelle porte l'objet ` QTextBoundaryFinder `.
[noexcept, since 6.11] void QTextBoundaryFinder::swap(QTextBoundaryFinder &other)
Remplace cet outil de détection des limites de texte par other. Cette opération est très rapide et ne rencontre jamais d'échec.
Cette fonction a été introduite dans Qt 6.11.
void QTextBoundaryFinder::toEnd()
Déplace le curseur à la fin de la chaîne. Cela revient à utiliser la méthode « setPosition » (string.length()).
Voir également setPosition() et position().
qsizetype QTextBoundaryFinder::toNextBoundary()
Déplace l'QTextBoundaryFinder e vers la position de limite suivante et renvoie cette position.
Renvoie -1 s'il n'y a pas de limite suivante.
qsizetype QTextBoundaryFinder::toPreviousBoundary()
Déplace l'QTextBoundaryFinder e vers la position de limite précédente et renvoie cette position.
Renvoie -1 s'il n'y a pas de limite précédente.
void QTextBoundaryFinder::toStart()
Place le curseur au début de la chaîne. Cela revient à utiliser la fonction ` setPosition(0)`.
Voir également setPosition() et position().
QTextBoundaryFinder::BoundaryType QTextBoundaryFinder::type() const
Renvoie le type de l'QTextBoundaryFinder.
[noexcept, since 6.11] QTextBoundaryFinder &QTextBoundaryFinder::operator=(QTextBoundaryFinder &&other)
Cette opération d'affectation par déplacement attribue la valeur « other » à cette instance de « QTextBoundaryFinder ».
Remarque : l’objet « other », d’où provient le déplacement, est placé dans un état partiellement formé, dans lequel les seules opérations valides sont la destruction et l’affectation d’une nouvelle valeur.
Cette fonction a été introduite dans Qt 6.11.
QTextBoundaryFinder &QTextBoundaryFinder::operator=(const QTextBoundaryFinder &other)
Attribue l'objet « other » à un autre objet « 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.