QTextBoundaryFinder Class
Die Klasse „QTextBoundaryFinder“ bietet eine Möglichkeit, Unicode-Textgrenzen in einer Zeichenkette zu ermitteln. Mehr...
| Header: | #include <QTextBoundaryFinder> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake: | QT += core |
- Liste aller Mitglieder, einschließlich geerbter Mitglieder
- QTextBoundaryFinder gehört zu den implizit gemeinsam genutzten Klassen und den Klassen für Zeichenfolgendaten.
Hinweis: Alle Funktionen dieser Klasse sind reentrant.
Öffentliche Typen
| enum | BoundaryReason { NotAtBoundary, BreakOpportunity, StartOfItem, EndOfItem, MandatoryBreak, SoftHyphen } |
| flags | BoundaryReasons |
| enum | BoundaryType { Grapheme, Word, Line, Sentence } |
Öffentliche Funktionen
| 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) |
Ausführliche Beschreibung
QTextBoundaryFinder ermöglicht es, Unicode-Textgrenzen in einer Zeichenkette gemäß der Unicode-Spezifikation für Textgrenzen zu ermitteln (siehe Unicode-Standard Anhang Nr. 14 und Unicode-Standard Anhang Nr. 29).
QTextBoundaryFinder kann je nach dem Wert von ` BoundaryType` in vier verschiedenen Modi auf eine ` QString ` angewendet werden.
Einheiten aus Unicode-Zeichen, die das bilden, was der Benutzer als Zeichen oder Grundeinheit der Sprache wahrnimmt, werden hier als Graphemcluster bezeichnet. Die beiden Unicode-Zeichen „A“ + Trema bilden beispielsweise einen Graphemcluster, da der Benutzer sie als ein Zeichen wahrnimmt, obwohl sie in diesem Fall durch zwei Unicode-Codepunkte dargestellt werden (siehe https://www.unicode.org/reports/tr29/#Grapheme_Cluster_Boundaries).
Wortgrenzen dienen dazu, den Anfang und das Ende dessen zu lokalisieren, was in einer Sprache als Wort angesehen wird (siehe https://www.unicode.org/reports/tr29/#Word_Boundaries).
Zeilenumbruchgrenzen geben mögliche Stellen an, an denen ein Zeilenumbruch erfolgen könnte, und Satzgrenzen zeigen den Anfang und das Ende ganzer Sätze an (siehe https://www.unicode.org/reports/tr29/#Sentence_Boundaries und https://www.unicode.org/reports/tr14/).
Die erste Position in einer Zeichenkette ist immer eine gültige Grenze und bezieht sich auf die Position vor dem ersten Zeichen. Die letzte Position am Ende der Zeichenkette ist ebenfalls gültig und bezieht sich auf die Position nach dem letzten Zeichen.
Dokumentation zu Mitgliedstypen
enum QTextBoundaryFinder::BoundaryReason
flags QTextBoundaryFinder::BoundaryReasons
| Konstante | Wert | Beschreibung |
|---|---|---|
QTextBoundaryFinder::NotAtBoundary | 0 | Der Begrenzungsfinder befindet sich nicht an einer Begrenzungsposition. |
QTextBoundaryFinder::BreakOpportunity | 0x1f | Der Begrenzungsfinder befindet sich an einer Position, an der ein Zeilenumbruch möglich ist. Eine solche Umbruchmöglichkeit kann auch eine Elementgrenze (entweder „StartOfItem“, „EndOfItem“ oder eine Kombination aus beiden), ein obligatorischer Zeilenumbruch oder ein weiches Bindestrichzeichen sein. |
QTextBoundaryFinder::StartOfItem (since Qt 5.0) | 0x20 | Der Begrenzungsfinder befindet sich am Anfang eines Graphems, eines Wortes, eines Satzes oder einer Zeile. |
QTextBoundaryFinder::EndOfItem (since Qt 5.0) | 0x40 | Der Begrenzungsfinder befindet sich am Ende eines Graphems, eines Wortes, eines Satzes oder einer Zeile. |
QTextBoundaryFinder::MandatoryBreak (since Qt 5.0) | 0x80 | Der Begrenzungsfinder befindet sich am Zeilenende (kann nur bei einem Zeilenbegrenzungstyp auftreten). |
QTextBoundaryFinder::SoftHyphen | 0x100 | Der Begrenzungsfinder befindet sich am weichen Bindestrich (kann nur bei einem Zeilenbegrenzungstyp auftreten). |
Der Typ „BoundaryReasons“ ist ein „typedef“ für „QFlags<BoundaryReason>“. Er speichert eine ODER-Kombination von „BoundaryReason“-Werten.
enum QTextBoundaryFinder::BoundaryType
| Konstante | Wert | Beschreibung |
|---|---|---|
QTextBoundaryFinder::Grapheme | 0 | Findet ein Graphem, das die kleinste Einheit darstellt. Dazu gehören Buchstaben, Satzzeichen, Ziffern und mehr. |
QTextBoundaryFinder::Word | 1 | Sucht ein Wort. |
QTextBoundaryFinder::Line | 3 | Ermittelt mögliche Stellen für den Zeilenumbruch. |
QTextBoundaryFinder::Sentence | 2 | Sucht nach Satzgrenzen. Dazu gehören Punkte, Fragezeichen usw. |
Dokumentation der Mitgliedsfunktionen
QTextBoundaryFinder::QTextBoundaryFinder()
Erstellt ein ungültiges QTextBoundaryFinder-Objekt.
QTextBoundaryFinder::QTextBoundaryFinder(QTextBoundaryFinder::BoundaryType type, const QString &string)
Erstellt ein QTextBoundaryFinder-Objekt vom Typ „ type “, das auf „ string “ angewendet wird.
[since 6.0] QTextBoundaryFinder::QTextBoundaryFinder(QTextBoundaryFinder::BoundaryType type, QStringView string, unsigned char *buffer = nullptr, qsizetype bufferSize = 0)
Erstellt ein QTextBoundaryFinder-Objekt vom Typ „ type “, das auf „ string “ arbeitet.
buffer ist ein optionaler Arbeitspuffer der Größe bufferSize, den Sie an den QTextBoundaryFinder übergeben können. Wenn der Puffer groß genug ist, um die erforderlichen Arbeitsdaten aufzunehmen (bufferSize >= length + 1), wird dieser verwendet, anstatt einen eigenen Puffer zuzuweisen.
Warnung: QTextBoundaryFinder erstellt keine Kopie von ` string`. Es liegt in der Verantwortung des Anwendungsprogrammierers, sicherzustellen, dass das Array so lange zugewiesen bleibt, wie das QTextBoundaryFinder-Objekt besteht. Dasselbe gilt für ` buffer`.
Diese Funktion wurde in Qt 6.0 eingeführt.
QTextBoundaryFinder::QTextBoundaryFinder(QTextBoundaryFinder::BoundaryType type, const QChar *chars, qsizetype length, unsigned char *buffer = nullptr, qsizetype bufferSize = 0)
Entspricht QTextBoundaryFinder(type, QStringView(chars, length), buffer, bufferSize).
Dies ist eine überladene Funktion.
QTextBoundaryFinder::QTextBoundaryFinder(const QTextBoundaryFinder &other)
Kopiert das QTextBoundaryFinder-Objekt „ other “.
[noexcept, since 6.11] QTextBoundaryFinder::QTextBoundaryFinder(QTextBoundaryFinder &&other)
Erstellt mithilfe von „move“ ein neues `QTextBoundaryFinder`-Objekt aus ` other`.
Hinweis: Das Objekt „other“, von dem die Verschiebung erfolgt, befindet sich in einem teilweise initialisierten Zustand, in dem nur die Zerstörung und die Zuweisung eines neuen Werts zulässig sind.
Diese Funktion wurde in Qt 6.11 eingeführt.
[noexcept] QTextBoundaryFinder::~QTextBoundaryFinder()
Löst das Objekt „ QTextBoundaryFinder “ auf.
QTextBoundaryFinder::BoundaryReasons QTextBoundaryFinder::boundaryReasons() const
Gibt die Gründe zurück, aus denen der Grenzfinder die aktuelle Position als Grenze ausgewählt hat.
bool QTextBoundaryFinder::isAtBoundary() const
Gibt ` true ` zurück, wenn sich ` position()` des Objekts derzeit an einer gültigen Textgrenze befindet.
bool QTextBoundaryFinder::isValid() const
Gibt „ true “ zurück, wenn der Textgrenzenfinder gültig ist; andernfalls wird „ false “ zurückgegeben. Ein Standardwert von „ QTextBoundaryFinder “ ist ungültig.
qsizetype QTextBoundaryFinder::position() const
Gibt die aktuelle Position des „ QTextBoundaryFinder “ zurück.
Der Bereich reicht von 0 (Anfang der Zeichenkette) bis einschließlich der Länge der Zeichenkette.
Siehe auch ` setPosition()`.
void QTextBoundaryFinder::setPosition(qsizetype position)
Setzt die aktuelle Position des „ QTextBoundaryFinder “ auf „ position “.
Liegt ` position ` außerhalb des zulässigen Bereichs, wird es auf gültige Positionen beschränkt. In diesem Fall reichen gültige Positionen von 0 bis einschließlich der Länge der Zeichenkette.
Siehe auch ` position()`.
QString QTextBoundaryFinder::string() const
Gibt die Zeichenkette zurück, auf die das „ QTextBoundaryFinder “-Objekt angewendet wird.
[noexcept, since 6.11] void QTextBoundaryFinder::swap(QTextBoundaryFinder &other)
Ersetzt diesen Textgrenzenfinder durch other. Dieser Vorgang ist sehr schnell und schlägt niemals fehl.
Diese Funktion wurde in Qt 6.11 eingeführt.
void QTextBoundaryFinder::toEnd()
Bewegt den Cursor an das Ende der Zeichenkette. Dies entspricht „ setPosition “ (string.length()).
Siehe auch „ setPosition()“ und „ position()“.
qsizetype QTextBoundaryFinder::toNextBoundary()
Verschiebt den „ QTextBoundaryFinder “ zur nächsten Randposition und gibt diese Position zurück.
Gibt -1 zurück, wenn es keine nächste Begrenzung gibt.
qsizetype QTextBoundaryFinder::toPreviousBoundary()
Verschiebt den „ QTextBoundaryFinder “ an die Position der vorherigen Begrenzung und gibt diese Position zurück.
Gibt -1 zurück, wenn keine vorherige Begrenzung vorhanden ist.
void QTextBoundaryFinder::toStart()
Bewegt den Cursor an den Anfang der Zeichenkette. Dies entspricht dem Befehl „ setPosition(0)“.
Siehe auch „ setPosition()“ und „ position()“.
QTextBoundaryFinder::BoundaryType QTextBoundaryFinder::type() const
Gibt den Typ des „ QTextBoundaryFinder “ zurück.
[noexcept, since 6.11] QTextBoundaryFinder &QTextBoundaryFinder::operator=(QTextBoundaryFinder &&other)
other Weist dieser Instanz von „ QTextBoundaryFinder “ den Wert „ “ zu.
Hinweis: Das Objekt „other“, aus dem die Zuweisung erfolgt, befindet sich in einem teilweise initialisierten Zustand, in dem die einzigen zulässigen Operationen die Zerstörung und die Zuweisung eines neuen Werts sind.
Diese Funktion wurde in Qt 6.11 eingeführt.
QTextBoundaryFinder &QTextBoundaryFinder::operator=(const QTextBoundaryFinder &other)
Weist das Objekt „ other “ einem anderen „ QTextBoundaryFinder “-Objekt zu.
© 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.