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