Auf dieser Seite

QTextBlock Class

Die Klasse „QTextBlock“ stellt einen Container für Textfragmente in einer „ QTextDocument “ bereit. Mehr...

Header: #include <QTextBlock>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui

Hinweis: Alle Funktionen dieser Klasse sind reentrant.

Öffentliche Typen

Öffentliche Funktionen

QTextBlock(const QTextBlock &other)
QTextBlock::iterator begin() const
QTextBlockFormat blockFormat() const
int blockFormatIndex() const
int blockNumber() const
QTextCharFormat charFormat() const
int charFormatIndex() const
void clearLayout()
bool contains(int position) const
const QTextDocument *document() const
QTextBlock::iterator end() const
int firstLineNumber() const
bool isValid() const
bool isVisible() const
QTextLayout *layout() const
int length() const
int lineCount() const
QTextBlock next() const
int position() const
QTextBlock previous() const
int revision() const
void setLineCount(int count)
void setRevision(int rev)
void setUserData(QTextBlockUserData *data)
void setUserState(int state)
void setVisible(bool visible)
QString text() const
Qt::LayoutDirection textDirection() const
QList<QTextLayout::FormatRange> textFormats() const
QTextList *textList() const
QTextBlockUserData *userData() const
int userState() const
bool operator!=(const QTextBlock &other) const
bool operator<(const QTextBlock &other) const
QTextBlock &operator=(const QTextBlock &other)
bool operator==(const QTextBlock &other) const

Ausführliche Beschreibung

Ein Textblock kapselt einen Textblock oder -absatz in einem „ QTextDocument “. QTextBlock bietet schreibgeschützten Zugriff auf die Block-/Absatzstruktur von QTextDocuments. Dies ist vor allem dann nützlich, wenn Sie eigene Layouts für die visuelle Darstellung eines „ QTextDocument “ implementieren möchten oder wenn Sie ein Dokument durchlaufen und den Inhalt in einem benutzerdefinierten Format ausgeben möchten.

Textblöcke werden von ihren übergeordneten Dokumenten erstellt. Wenn Sie einen neuen Textblock erstellen oder den Inhalt eines Dokuments während dessen Durchsicht ändern müssen, verwenden Sie stattdessen die von ` QTextCursor ` bereitgestellte cursorbasierte Schnittstelle.

Jeder Textblock befindet sich an einer bestimmten Position position() in einem Dokument document(). Der Inhalt des Blocks kann mithilfe der Funktion text() abgerufen werden. Die Funktion length() ermittelt die Größe des Blocks innerhalb des Dokuments (einschließlich Formatierungszeichen). Die visuellen Eigenschaften des Blocks werden durch seine Text layout(), seine charFormat() und seine blockFormat() bestimmt.

Die Funktionen „ next()“ und „ previous()“ ermöglichen die Iteration über aufeinanderfolgende gültige Blöcke in einem Dokument unter der Voraussetzung, dass das Dokument während des Iterationsprozesses nicht auf andere Weise verändert wird. Beachten Sie, dass Blöcke zwar der Reihe nach zurückgegeben werden, benachbarte Blöcke jedoch aus unterschiedlichen Stellen der Dokumentstruktur stammen können. Die Gültigkeit eines Blocks lässt sich durch den Aufruf von „ isValid()“ feststellen.

QTextBlock stellt Vergleichsoperatoren bereit, um die Arbeit mit Blöcken zu vereinfachen: ` operator==()` vergleicht zwei Blöcke auf Gleichheit, ` operator!=()` vergleicht zwei Blöcke auf Ungleichheit und ` operator<()` ermittelt, ob ein Block im selben Dokument vor einem anderen steht.

Diagramm, das mehrere Textblöcke in einer Hierarchie von Textrahmen sowie die Reihenfolge der Iteration zwischen den Textblöcken veranschaulicht.

Siehe auch QTextBlockFormat, QTextCharFormat und QTextFragment.

Dokumentation zu Mitgliedstypen

QTextBlock::Iterator

Synonym im Qt-Stil für „ QTextBlock::iterator “.

Dokumentation der Mitgliedsfunktionen

QTextBlock::QTextBlock(const QTextBlock &other)

Kopiert die Attribute des Textblocks „ other “ in diesen Textblock.

QTextBlock::iterator QTextBlock::begin() const

Gibt einen Textblock-Iterator zurück, der auf den Anfang des Textblocks zeigt.

Siehe auch ` end()`.

QTextBlockFormat QTextBlock::blockFormat() const

Gibt das „ QTextBlockFormat “ zurück, das blockspezifische Eigenschaften beschreibt.

Siehe auch ` charFormat()`.

int QTextBlock::blockFormatIndex() const

Gibt einen Index in der internen Liste der Blockformate des Dokuments für das Format des Textblocks zurück.

Siehe auch „ QTextDocument::allFormats()“.

int QTextBlock::blockNumber() const

Gibt die Nummer dieses Blocks zurück oder -1, wenn der Block ungültig ist.

Siehe auch ` QTextCursor::blockNumber()`.

QTextCharFormat QTextBlock::charFormat() const

Gibt die „ QTextCharFormat “ zurück, die das Zeichenformat des Blocks beschreibt. Das Zeichenformat des Blocks wird beim Einfügen von Text in einen leeren Block verwendet.

Siehe auch ` blockFormat()`.

int QTextBlock::charFormatIndex() const

Gibt einen Index in der internen Liste der Zeichenformate des Dokuments für das Zeichenformat des Textblocks zurück.

Siehe auch „ QTextDocument::allFormats()“.

void QTextBlock::clearLayout()

Löscht das ` QTextLayout `, das zum Layout und zur Anzeige des Blockinhalts verwendet wird.

Siehe auch ` layout()`.

bool QTextBlock::contains(int position) const

Gibt „ true “ zurück, wenn sich das angegebene „ position “ innerhalb des Textblocks befindet; andernfalls wird „ false “ zurückgegeben.

const QTextDocument *QTextBlock::document() const

Gibt das Textdokument zurück, zu dem dieser Textblock gehört, oder „ nullptr “, falls der Textblock zu keinem Dokument gehört.

QTextBlock::iterator QTextBlock::end() const

Gibt einen Textblock-Iterator zurück, der auf das Ende des Textblocks zeigt.

Siehe auch begin(), next() und previous().

int QTextBlock::firstLineNumber() const

Gibt die Nummer der ersten Zeile dieses Blocks zurück oder -1, wenn der Block ungültig ist. Sofern das Layout dies nicht unterstützt, entspricht die Zeilennummer der Blocknummer.

Siehe auch „ QTextBlock::blockNumber()“.

bool QTextBlock::isValid() const

Gibt „ true “ zurück, wenn dieser Textblock gültig ist; andernfalls wird „ false “ zurückgegeben.

bool QTextBlock::isVisible() const

Gibt „ true “ zurück, wenn der Block sichtbar ist; andernfalls wird „ false “ zurückgegeben.

Siehe auch setVisible().

QTextLayout *QTextBlock::layout() const

Gibt das ` QTextLayout ` zurück, das zum Layout und zur Anzeige des Blockinhalts verwendet wird.

Beachten Sie, dass das zurückgegebene ` QTextLayout `-Objekt nur über die `documentChanged`-Implementierung einer Unterklasse von ` QAbstractTextDocumentLayout ` geändert werden kann. Alle von außen vorgenommenen Änderungen führen zu undefiniertem Verhalten.

Siehe auch ` clearLayout()`.

int QTextBlock::length() const

Gibt die Länge des Blocks in Zeichen zurück.

Hinweis: Die zurückgegebene Länge umfasst alle Formatierungszeichen, beispielsweise Zeilenumbrüche.

Siehe auch text(), charFormat() und blockFormat().

int QTextBlock::lineCount() const

Gibt die Zeilenzahl zurück. Nicht alle Dokumentlayouts unterstützen diese Funktion.

Siehe auch setLineCount().

QTextBlock QTextBlock::next() const

Gibt den Textblock im Dokument zurück, der auf diesen Block folgt, oder einen leeren Textblock, falls dies der letzte ist.

Beachten Sie, dass sich der nächste Block möglicherweise in einem anderen Rahmen oder einer anderen Tabelle als dieser Block befindet.

Siehe auch previous(), begin() und end().

int QTextBlock::position() const

Gibt den Index des ersten Zeichens des Blocks innerhalb des Dokuments zurück.

QTextBlock QTextBlock::previous() const

Gibt den Textblock im Dokument zurück, der diesem Block vorausgeht, oder einen leeren Textblock, wenn dies der erste ist.

Beachten Sie, dass sich der vorhergehende Block möglicherweise in einem anderen Rahmen oder einer anderen Tabelle als dieser Block befindet.

Siehe auch next(), begin() und end().

int QTextBlock::revision() const

Gibt die Revisionsnummer des Blocks zurück.

Siehe auch setRevision() und QTextDocument::revision().

void QTextBlock::setLineCount(int count)

Setzt die Zeilenanzahl auf „ count “.

Siehe auch lineCount().

void QTextBlock::setRevision(int rev)

Setzt die Revision eines Blocks auf „ rev “.

Siehe auch revision() und QTextDocument::revision().

void QTextBlock::setUserData(QTextBlockUserData *data)

Fügt das angegebene „ data “-Objekt an den Textblock an.

QTextBlockUserData Kann zum Speichern benutzerdefinierter Einstellungen verwendet werden. Die Zugehörigkeit wird an das zugrunde liegende Textdokument weitergegeben, d. h., das bereitgestellte „ QTextBlockUserData “-Objekt wird gelöscht, wenn der entsprechende Textblock gelöscht wird. Das Benutzerdatenobjekt wird nicht im Rückgängig-Verlauf gespeichert, sodass es nach dem Rückgängigmachen der Löschung eines Textblocks nicht mehr verfügbar ist.

Wenn Sie beispielsweise einen Programmiereditor in einer IDE schreiben, möchten Sie Ihren Benutzern vielleicht ermöglichen, für einen integrierten Debugger visuell Haltepunkte in Ihrem Code zu setzen. In einem Programmiereditor entspricht eine Textzeile in der Regel einem ` QTextBlock`. Die Schnittstelle ` QTextBlockUserData ` ermöglicht es dem Entwickler, Daten für jedes ` QTextBlock` zu speichern, wie zum Beispiel, in welchen Zeilen des Quellcodes der Benutzer einen Haltepunkt gesetzt hat. Natürlich könnte dies auch extern gespeichert werden, aber durch die Speicherung im „ QTextDocument “ wird es beispielsweise automatisch gelöscht, wenn der Benutzer die zugehörige Zeile löscht. Es handelt sich dabei lediglich um eine Möglichkeit, benutzerdefinierte Informationen im „ QTextDocument “ zu speichern, ohne benutzerdefinierte Eigenschaften in „ QTextFormat “ zu verwenden, die den Undo-/Redo-Stack beeinflussen würden.

Siehe auch userData().

void QTextBlock::setUserState(int state)

Speichert den angegebenen ganzzahligen Wert „ state “ im Textblock. Dies kann beispielsweise in einem Syntax-Highlighter nützlich sein, um den Status der Textanalyse zu speichern.

Siehe auch ` userState()`.

void QTextBlock::setVisible(bool visible)

Setzt die Sichtbarkeit des Blocks auf „ visible “.

Siehe auch „ isVisible()“.

QString QTextBlock::text() const

Gibt den Inhalt des Blocks als einfachen Text zurück.

Siehe auch length(), charFormat() und blockFormat().

Qt::LayoutDirection QTextBlock::textDirection() const

Gibt die ermittelte Textrichtung zurück.

Wenn für den Block keine explizite Richtung festgelegt ist, wird die Richtung anhand des Blockinhalts ermittelt. Gibt entweder „ Qt::LeftToRight “ oder „ Qt::RightToLeft “ zurück.

Siehe auch „ QTextFormat::layoutDirection()“, „ QString::isRightToLeft()“ und „ Qt::LayoutDirection “.

QList<QTextLayout::FormatRange> QTextBlock::textFormats() const

Gibt die Textformatierungsoptionen des Blocks als Liste zusammenhängender Bereiche von „ QTextCharFormat “ zurück. Das Zeichenformat des Bereichs wird beim Einfügen von Text innerhalb der Bereichsgrenzen verwendet.

Siehe auch „ charFormat()“ und „ blockFormat()“.

QTextList *QTextBlock::textList() const

Wenn der Block ein Listenelement darstellt, wird die Liste zurückgegeben, zu der das Element gehört; andernfalls wird „ nullptr “ zurückgegeben.

QTextBlockUserData *QTextBlock::userData() const

Gibt einen Zeiger auf ein „ QTextBlockUserData “-Objekt zurück, sofern eines mit „ setUserData()“ oder „ nullptr “ festgelegt wurde.

Siehe auch ` setUserData()`.

int QTextBlock::userState() const

Gibt den zuvor mit ` setUserState()` festgelegten Ganzzahlwert oder -1 zurück.

Siehe auch ` setUserState()`.

bool QTextBlock::operator!=(const QTextBlock &other) const

Gibt „ true “ zurück, wenn sich dieser Textblock vom Textblock „ other “ unterscheidet.

bool QTextBlock::operator<(const QTextBlock &other) const

Gibt „ true “ zurück, wenn dieser Textblock im Dokument vor dem Textblock „ other “ vorkommt.

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

Weist diesem Textblock den Textblock „ other “ zu.

bool QTextBlock::operator==(const QTextBlock &other) const

Gibt „ true “ zurück, wenn dieser Textblock mit dem Textblock „ other “ übereinstimmt.

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