QTextBoundaryFinder Class

Die Klasse QTextBoundaryFinder bietet eine Möglichkeit, Unicode-Textgrenzen in einer Zeichenkette zu finden. Mehr...

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

Hinweis: Alle Funktionen in 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)
~QTextBoundaryFinder()
QTextBoundaryFinder::BoundaryReasons boundaryReasons() const
bool isAtBoundary() const
bool isValid() const
qsizetype position() const
void setPosition(qsizetype position)
QString string() const
void toEnd()
qsizetype toNextBoundary()
qsizetype toPreviousBoundary()
void toStart()
QTextBoundaryFinder::BoundaryType type() const
QTextBoundaryFinder &operator=(const QTextBoundaryFinder &other)

Detaillierte Beschreibung

QTextBoundaryFinder ermöglicht das Auffinden von Unicode-Textgrenzen in einer Zeichenkette, entsprechend der Unicode-Textgrenzenspezifikation (siehe Unicode Standard Annex #14 und Unicode Standard Annex #29).

QTextBoundaryFinder kann auf einer QString in vier möglichen Modi arbeiten, abhängig vom Wert von BoundaryType.

Einheiten von Unicode-Zeichen, die das bilden, was sich der Benutzer als Zeichen oder Grundeinheit der Sprache vorstellt, werden hier Grapheme-Cluster genannt. Die beiden Unicode-Zeichen "A" + Diaeresis bilden beispielsweise einen Graphem-Cluster, da der Benutzer sie für ein Zeichen hält, doch wird es in diesem Fall durch zwei Unicode-Codepunkte dargestellt (siehe https://www.unicode.org/reports/tr29/#Grapheme_Cluster_Boundaries).

Wortgrenzen dienen dazu, den Anfang und das Ende dessen zu bestimmen, was eine Sprache als Wort betrachtet ( siehe https://www.unicode.org/reports/tr29/#Word_Boundaries).

Zeilenumbruchgrenzen geben mögliche Stellen an, an denen ein Zeilenumbruch stattfinden 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 Zeichenfolge ist immer eine gültige Begrenzung 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 der Mitgliedstypen

enum QTextBoundaryFinder::BoundaryReason
flags QTextBoundaryFinder::BoundaryReasons

KonstanteWertBeschreibung
QTextBoundaryFinder::NotAtBoundary0Der Boundary Finder befindet sich nicht an einer Begrenzungsposition.
QTextBoundaryFinder::BreakOpportunity0x1fDer Begrenzungssucher befindet sich an einer Bruchstelle. Eine solche Umbruchmöglichkeit kann auch eine Elementgrenze (entweder StartOfItem, EndOfItem oder eine Kombination aus beiden), ein obligatorischer Zeilenumbruch oder ein weicher Bindestrich sein.
QTextBoundaryFinder::StartOfItem (since Qt 5.0)0x20Der Boundary Finder befindet sich am Anfang eines Graphems, eines Wortes, eines Satzes oder einer Zeile.
QTextBoundaryFinder::EndOfItem (since Qt 5.0)0x40Der Boundary Finder befindet sich am Ende eines Graphems, eines Wortes, eines Satzes oder einer Zeile.
QTextBoundaryFinder::MandatoryBreak (since Qt 5.0)0x80Der Boundary Finder befindet sich am Ende einer Zeile (kann nur bei einem Line Boundary Typ auftreten).
QTextBoundaryFinder::SoftHyphen0x100Der Boundary Finder befindet sich am weichen Bindestrich (kann nur bei einem Line Boundary-Typ vorkommen).

Der Typ BoundaryReasons ist ein Typedef für QFlags<BoundaryReason>. Er speichert eine ODER-Kombination von BoundaryReason-Werten.

enum QTextBoundaryFinder::BoundaryType

KonstanteWertBeschreibung
QTextBoundaryFinder::Grapheme0Findet ein Graphem, das die kleinste Begrenzung darstellt. Dazu gehören Buchstaben, Interpunktionszeichen, Ziffern und mehr.
QTextBoundaryFinder::Word1Findet ein Wort.
QTextBoundaryFinder::Line3Findet mögliche Positionen für den Umbruch des Textes in mehrere Zeilen.
QTextBoundaryFinder::Sentence2Findet Satzgrenzen. Dazu gehören Punkte, Fragezeichen usw.

Dokumentation der Mitgliedsfunktionen

QTextBoundaryFinder::QTextBoundaryFinder()

Konstruiert ein ungültiges QTextBoundaryFinder-Objekt.

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

Erzeugt ein QTextBoundaryFinder-Objekt von type, das mit string arbeitet.

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

Erzeugt ein QTextBoundaryFinder-Objekt von 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 benötigten Arbeitsdaten aufzunehmen (bufferSize >= length + 1), wird er diesen verwenden, 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 alloziert wird, wie das QTextBoundaryFinder-Objekt am Leben bleibt. Das gleiche 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)

Dies ist eine überladene Funktion.

Dasselbe wie QTextBoundaryFinder(type, QStringView(chars, length), buffer, bufferSize).

QTextBoundaryFinder::QTextBoundaryFinder(const QTextBoundaryFinder &other)

Kopiert das QTextBoundaryFinder-Objekt, other.

[noexcept] QTextBoundaryFinder::~QTextBoundaryFinder()

Zerstört das Objekt QTextBoundaryFinder.

QTextBoundaryFinder::BoundaryReasons QTextBoundaryFinder::boundaryReasons() const

Gibt die Gründe zurück, aus denen der Boundary Finder die aktuelle Position als Begrenzung 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 Text Boundary Finder gültig ist; andernfalls gibt er false zurück. Ein Standardwert QTextBoundaryFinder ist ungültig.

qsizetype QTextBoundaryFinder::position() const

Gibt die aktuelle Position von QTextBoundaryFinder zurück.

Der Bereich reicht von 0 (dem Anfang der Zeichenkette) bis zur Länge der Zeichenkette einschließlich.

Siehe auch setPosition().

void QTextBoundaryFinder::setPosition(qsizetype position)

Setzt die aktuelle Position von QTextBoundaryFinder auf position.

Wenn position außerhalb der Grenzen liegt, wird es nur an gültige Positionen gebunden. In diesem Fall reichen die gültigen Positionen von 0 bis einschließlich der Länge der Zeichenkette.

Siehe auch position().

QString QTextBoundaryFinder::string() const

Gibt die Zeichenkette zurück, mit der das QTextBoundaryFinder Objekt arbeitet.

void QTextBoundaryFinder::toEnd()

Verschiebt den Finder an das Ende der Zeichenkette. Dies ist äquivalent zu setPosition(string.length()).

Siehe auch setPosition() und position().

qsizetype QTextBoundaryFinder::toNextBoundary()

Verschiebt QTextBoundaryFinder an die nächste Begrenzungsposition und gibt diese Position zurück.

Gibt -1 zurück, wenn es keine nächste Begrenzung gibt.

qsizetype QTextBoundaryFinder::toPreviousBoundary()

Verschiebt QTextBoundaryFinder an die vorherige Begrenzungsposition und gibt diese Position zurück.

Gibt -1 zurück, wenn es keine vorherige Begrenzung gibt.

void QTextBoundaryFinder::toStart()

Setzt den Finder an den Anfang der Zeichenkette. Dies ist äquivalent zu setPosition(0).

Siehe auch setPosition() und position().

QTextBoundaryFinder::BoundaryType QTextBoundaryFinder::type() const

Gibt den Typ des QTextBoundaryFinder zurück.

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

Weist das Objekt other einem anderen Objekt QTextBoundaryFinder zu.

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