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 |
- Liste aller Mitglieder, einschließlich vererbter Mitglieder
- QTextBlock ist Teil der Rich-Text-Verarbeitungs-APIs.
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.

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.