QTextBlock Class

Die Klasse QTextBlock bietet einen Container für Textfragmente in einem QTextDocument. Mehr...

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

Hinweis: Alle Funktionen in 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

Detaillierte Beschreibung

Ein Textblock kapselt einen Block oder Absatz von Text in einer QTextDocument. QTextBlock bietet einen Nur-Lese-Zugriff auf die Block-/Absatzstruktur von QTextDocuments. Er ist vor allem dann von Nutzen, wenn Sie Ihre eigenen Layouts für die visuelle Darstellung eines QTextDocument implementieren wollen, oder wenn Sie über ein Dokument iterieren und den Inhalt in Ihrem eigenen benutzerdefinierten Format ausgeben wollen.

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

Jeder Textblock befindet sich unter einer bestimmten position() in einem document(). Der Inhalt des Blocks kann mit der Funktion text() abgefragt werden. Die Funktion length() bestimmt die Größe des Blocks innerhalb des Dokuments (einschließlich der Formatierungszeichen). Die visuellen Eigenschaften des Blocks werden durch seinen 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 Bedingung, dass das Dokument während des Iterationsprozesses nicht auf andere Weise verändert wird. Beachten Sie, dass, obwohl die Blöcke der Reihe nach zurückgegeben werden, benachbarte Blöcke von verschiedenen Stellen in der Dokumentstruktur stammen können. Die Gültigkeit eines Blocks kann durch den Aufruf von isValid() festgestellt werden.

QTextBlock bietet Vergleichsoperatoren, um die Arbeit mit Blöcken zu erleichtern: operator==() vergleicht zwei Blöcke auf Gleichheit, operator!=() vergleicht zwei Blöcke auf Ungleichheit und operator<() stellt fest, ob ein Block einem anderen im selben Dokument vorausgeht.

Siehe auch QTextBlockFormat, QTextCharFormat, und QTextFragment.

Dokumentation der Mitgliedstypen

QTextBlock::Iterator

Qt-style Synonym 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 die QTextBlockFormat zurück, die blockspezifische Eigenschaften beschreibt.

Siehe auch charFormat().

int QTextBlock::blockFormatIndex() const

Gibt einen Index in der dokumentinternen Liste der Blockformate 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 dokumentinternen Liste der Zeichenformate für das Zeichenformat des Textblocks zurück.

Siehe auch QTextDocument::allFormats().

void QTextBlock::clearLayout()

Löscht die QTextLayout, die für das Layout und die Anzeige des Blockinhalts verwendet wird.

Siehe auch layout().

bool QTextBlock::contains(int position) const

Gibt true zurück, wenn sich die 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, wenn 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 erste Zeilennummer dieses Blocks zurück, oder -1, wenn der Block ungültig ist. Sofern das Layout dies nicht unterstützt, ist die Zeilennummer identisch mit 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 die QTextLayout zurück, die für das Layout und die Anzeige des Blockinhalts verwendet wird.

Beachten Sie, dass das zurückgegebene QTextLayout Objekt nur von der documentChanged Implementierung einer QAbstractTextDocumentLayout Unterklasse 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, z. B. 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 nach diesem Block zurück, oder einen leeren Textblock, wenn dies der letzte ist.

Beachten Sie, dass sich der nächste Block in einem anderen Rahmen oder einer anderen Tabelle als dieser Block befinden kann.

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 vor diesem Block liegt, oder einen leeren Textblock, wenn dies der erste ist.

Beachten Sie, dass der vorherige Block in einem anderen Rahmen oder einer anderen Tabelle stehen kann als dieser Block.

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

int QTextBlock::revision() const

Gibt die Blockrevision zurück.

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

void QTextBlock::setLineCount(int count)

Setzt die Zeilenzahl auf count.

Siehe auch lineCount().

void QTextBlock::setRevision(int rev)

Setzt eine Blockrevision auf rev.

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

void QTextBlock::setUserData(QTextBlockUserData *data)

Hängt das angegebene data Objekt an den Textblock an.

QTextBlockUserData kann verwendet werden, um eigene Einstellungen zu speichern. Die Eigentümerschaft wird an das zugrundeliegende Textdokument übergeben, d.h. das angegebene QTextBlockUserData Objekt wird gelöscht, wenn der entsprechende Textblock gelöscht wird. Das Benutzerdaten-Objekt wird nicht in der Rückgängig-Historie gespeichert, so dass es nach dem Rückgängigmachen des Löschens eines Textblocks nicht mehr verfügbar ist.

Wenn Sie z.B. einen Programmiereditor in einer IDE schreiben, möchten Sie vielleicht, dass der Benutzer visuell Haltepunkte in Ihrem Code für einen integrierten Debugger setzen kann. In einem Programmiereditor entspricht eine Textzeile normalerweise einer QTextBlock. Die Schnittstelle QTextBlockUserData ermöglicht es dem Entwickler, Daten für jede QTextBlock zu speichern, wie zum Beispiel in welchen Zeilen des Quellcodes der Benutzer einen Haltepunkt gesetzt hat. Natürlich könnten diese Daten auch extern gespeichert werden, aber durch die Speicherung innerhalb von QTextDocument werden sie zum Beispiel automatisch gelöscht, wenn der Benutzer die zugehörige Zeile löscht. Es ist wirklich nur eine Möglichkeit, benutzerdefinierte Informationen in QTextDocument zu speichern, ohne benutzerdefinierte Eigenschaften in QTextFormat zu verwenden, die den Undo/Redo-Stapel beeinflussen würden.

Siehe auch userData().

void QTextBlock::setUserState(int state)

Speichert den angegebenen state Ganzzahlwert im Textblock. Dies kann z.B. in einem Syntax-Highlighter nützlich sein, um einen Text-Parsing-Status 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 reinen Text zurück.

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

Qt::LayoutDirection QTextBlock::textDirection() const

Gibt die aufgelöste Textrichtung zurück.

Wenn für den Block keine explizite Richtung festgelegt wurde, wird die Richtung aus dem Inhalt des Blocks aufgelöst. 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 Textformatoptionen des Blocks als Liste von zusammenhängenden Bereichen 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, wenn eines mit setUserData() gesetzt wurde, oder nullptr.

Siehe auch setUserData().

int QTextBlock::userState() const

Gibt den zuvor mit setUserState() eingestellten Integer-Wert oder -1 zurück.

Siehe auch setUserState().

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

Gibt true zurück, wenn sich dieser Textblock von dem other Textblock unterscheidet.

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

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

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

Weist den Textblock other diesem Textblock zu.

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

Gibt true zurück, wenn dieser Textblock mit dem other Textblock identisch ist.

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