QTextDocument Class
Die Klasse „QTextDocument“ enthält formatierten Text. Mehr dazu...
| Kopfzeile: | #include <QTextDocument> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
| qmake: | QT += gui |
| Erbt von: | QObject |
- Liste aller Mitglieder, einschließlich geerbter Mitglieder
- QTextDocument ist Teil der Rich-Text-Verarbeitungs-APIs.
Hinweis: Alle Funktionen dieser Klasse sind reentrant.
Öffentliche Typen
| enum | FindFlag { FindBackward, FindCaseSensitively, FindWholeWords } |
| flags | FindFlags |
| enum | MarkdownFeature { MarkdownNoHTML, MarkdownDialectCommonMark, MarkdownDialectGitHub } |
| flags | MarkdownFeatures |
| enum | MetaInformation { DocumentTitle, DocumentUrl, CssMedia, FrontMatter } |
(since 6.1) | ResourceProvider |
| enum | ResourceType { UnknownResource, HtmlResource, ImageResource, StyleSheetResource, MarkdownResource, UserResource } |
| enum | Stacks { UndoStack, RedoStack, UndoAndRedoStacks } |
Eigenschaften
|
|
Öffentliche Funktionen
| QTextDocument(QObject *parent = nullptr) | |
| QTextDocument(const QString &text, QObject *parent = nullptr) | |
| virtual | ~QTextDocument() |
| void | addResource(int type, const QUrl &name, const QVariant &resource) |
| void | adjustSize() |
| QList<QTextFormat> | allFormats() const |
| int | availableRedoSteps() const |
| int | availableUndoSteps() const |
| QUrl | baseUrl() const |
(since 6.0) qreal | baselineOffset() const |
| QTextBlock | begin() const |
| int | blockCount() const |
| QChar | characterAt(int pos) const |
| int | characterCount() const |
| virtual void | clear() |
| void | clearUndoRedoStacks(QTextDocument::Stacks stacksToClear = UndoAndRedoStacks) |
| QTextDocument * | clone(QObject *parent = nullptr) const |
| Qt::CursorMoveStyle | defaultCursorMoveStyle() const |
| QFont | defaultFont() const |
| QString | defaultStyleSheet() const |
| QTextOption | defaultTextOption() const |
| QAbstractTextDocumentLayout * | documentLayout() const |
| qreal | documentMargin() const |
| void | drawContents(QPainter *p, const QRectF &rect = QRectF()) |
| QTextBlock | end() const |
| QTextCursor | find(const QRegularExpression &expr, const QTextCursor &cursor, QTextDocument::FindFlags options = FindFlags()) const |
| QTextCursor | find(const QRegularExpression &expr, int from = 0, QTextDocument::FindFlags options = FindFlags()) const |
| QTextCursor | find(const QString &subString, const QTextCursor &cursor, QTextDocument::FindFlags options = FindFlags()) const |
| QTextCursor | find(const QString &subString, int position = 0, QTextDocument::FindFlags options = FindFlags()) const |
| QTextBlock | findBlock(int pos) const |
| QTextBlock | findBlockByLineNumber(int lineNumber) const |
| QTextBlock | findBlockByNumber(int blockNumber) const |
| QTextBlock | firstBlock() const |
| qreal | idealWidth() const |
| qreal | indentWidth() const |
| bool | isEmpty() const |
| bool | isLayoutEnabled() const |
| bool | isModified() const |
| bool | isRedoAvailable() const |
| bool | isUndoAvailable() const |
| bool | isUndoRedoEnabled() const |
| QTextBlock | lastBlock() const |
| int | lineCount() const |
| void | markContentsDirty(int position, int length) |
| int | maximumBlockCount() const |
| QString | metaInformation(QTextDocument::MetaInformation info) const |
| QTextObject * | object(int objectIndex) const |
| QTextObject * | objectForFormat(const QTextFormat &f) const |
| int | pageCount() const |
| QSizeF | pageSize() const |
| void | print(QPagedPaintDevice *printer) const |
| void | redo(QTextCursor *cursor) |
| QVariant | resource(int type, const QUrl &name) const |
(since 6.1) QTextDocument::ResourceProvider | resourceProvider() const |
| int | revision() const |
| QTextFrame * | rootFrame() const |
| void | setBaseUrl(const QUrl &url) |
(since 6.0) void | setBaselineOffset(qreal baseline) |
| void | setDefaultCursorMoveStyle(Qt::CursorMoveStyle style) |
| void | setDefaultFont(const QFont &font) |
| void | setDefaultStyleSheet(const QString &sheet) |
| void | setDefaultTextOption(const QTextOption &option) |
| void | setDocumentLayout(QAbstractTextDocumentLayout *layout) |
| void | setDocumentMargin(qreal margin) |
| void | setHtml(const QString &html) |
| void | setIndentWidth(qreal width) |
| void | setLayoutEnabled(bool b) |
| void | setMarkdown(const QString &markdown, QTextDocument::MarkdownFeatures features = MarkdownDialectGitHub) |
| void | setMaximumBlockCount(int maximum) |
| void | setMetaInformation(QTextDocument::MetaInformation info, const QString &string) |
| void | setPageSize(const QSizeF &size) |
| void | setPlainText(const QString &text) |
(since 6.1) void | setResourceProvider(const QTextDocument::ResourceProvider &provider) |
(since 6.0) void | setSubScriptBaseline(qreal baseline) |
(since 6.0) void | setSuperScriptBaseline(qreal baseline) |
| void | setTextWidth(qreal width) |
| void | setUndoRedoEnabled(bool enable) |
| void | setUseDesignMetrics(bool b) |
| QSizeF | size() const |
(since 6.0) qreal | subScriptBaseline() const |
(since 6.0) qreal | superScriptBaseline() const |
| qreal | textWidth() const |
| QString | toHtml() const |
| QString | toMarkdown(QTextDocument::MarkdownFeatures features = MarkdownDialectGitHub) const |
| QString | toPlainText() const |
| QString | toRawText() const |
| void | undo(QTextCursor *cursor) |
| bool | useDesignMetrics() const |
Öffentliche Slots
| void | redo() |
| void | setModified(bool m = true) |
| void | undo() |
Signale
| void | baseUrlChanged(const QUrl &url) |
| void | blockCountChanged(int newBlockCount) |
| void | contentsChange(int position, int charsRemoved, int charsAdded) |
| void | contentsChanged() |
| void | cursorPositionChanged(const QTextCursor &cursor) |
| void | documentLayoutChanged() |
| void | modificationChanged(bool changed) |
| void | redoAvailable(bool available) |
| void | undoAvailable(bool available) |
| void | undoCommandAdded() |
Statische öffentliche Mitglieder
(since 6.1) QTextDocument::ResourceProvider | defaultResourceProvider() |
(since 6.1) void | setDefaultResourceProvider(const QTextDocument::ResourceProvider &provider) |
Geschützte Funktionen
| virtual QTextObject * | createObject(const QTextFormat &format) |
| virtual QVariant | loadResource(int type, const QUrl &name) |
Ausführliche Beschreibung
QTextDocument ist ein Container für strukturierte Rich-Text-Dokumente, der Unterstützung für formatierten Text und verschiedene Arten von Dokumentelementen wie Listen, Tabellen, Rahmen und Bilder bietet. Sie können zur Verwendung in einem ` QTextEdit` erstellt oder unabhängig davon verwendet werden.
Jedes Dokumentelement wird durch ein zugehöriges Formatobjekt beschrieben. Jedes Formatobjekt wird von QTextDocuments als eigenständiges Objekt behandelt und kann an ` objectForFormat()` übergeben werden, um das Dokumentelement abzurufen, auf das es angewendet wird.
Ein QTextDocument kann programmgesteuert mithilfe von ` QTextCursor` bearbeitet werden, und sein Inhalt lässt sich durch Durchlaufen der Dokumentstruktur untersuchen. Die gesamte Dokumentstruktur wird als Hierarchie von Dokumentelementen unterhalb des Stamm-Frames gespeichert, der mit der Funktion ` rootFrame()` ermittelt wird. Wenn Sie hingegen lediglich den Textinhalt des Dokuments durchlaufen möchten, können Sie die Funktionen ` begin()`, ` end()` und ` findBlock()` verwenden, um Textblöcke abzurufen, die Sie untersuchen und durchlaufen können.
Das Layout eines Dokuments wird durch die Funktion „ documentLayout “ () bestimmt; Sie können eine eigene Unterklasse von „ QAbstractTextDocumentLayout “ erstellen und diese mit „ setDocumentLayout “ () festlegen, wenn Sie Ihre eigene Layout-Logik verwenden möchten. Der Titel des Dokuments und weitere Metainformationen lassen sich durch Aufruf der Funktion ` metaInformation()` abrufen. Bei Dokumenten, die den Benutzern über die Klasse ` QTextEdit ` zur Verfügung gestellt werden, ist der Dokumenttitel auch über die Funktion ` QTextEdit::documentTitle()` abrufbar.
Mit den Hilfsfunktionen „ toPlainText()“ und „ toHtml()“ können Sie den Inhalt des Dokuments als Klartext und HTML abrufen. Der Text des Dokuments kann mithilfe der Funktionen „ find()“ durchsucht werden.
Das Rückgängigmachen und Wiederherstellen von am Dokument durchgeführten Operationen kann mithilfe der Funktion „ setUndoRedoEnabled()“ gesteuert werden. Das Rückgängig-/Wiederherstellungssystem kann von einem Editor-Widget über die Slots „ undo()“ und „ redo()“ gesteuert werden; das Dokument stellt außerdem die Signale „ contentsChanged()“, „ undoAvailable()“ und „ redoAvailable()“ bereit, die verbundene Editor-Widgets über den Status des Rückgängig-/Wiederherstellungssystems informieren. Im Folgenden werden die Rückgängig-/Wiederherstellungsoperationen eines `QTextDocument` beschrieben:
- Einfügen oder Entfernen von Zeichen. Eine Abfolge von Einfügungen oder Entfernungen innerhalb desselben Textblocks wird als ein einziger Rückgängig-/Wiederherstellen-Vorgang betrachtet.
- Einfügen oder Entfernen von Textblöcken. Abfolgen von Einfügungen oder Entfernungen in einem einzigen Vorgang (z. B. durch Markieren und anschließendes Löschen von Text) werden als ein einziger Rückgängig-/Wiederherstellungsvorgang betrachtet.
- Änderungen der Zeichenformatierung.
- Änderungen der Formatierung von Textblöcken.
- Änderungen der Formatierung von Textblockgruppen.
Siehe auch „ QTextCursor “, „ QTextEdit “ und „Rich-Text-Verarbeitung“.
Dokumentation zu Mitgliedstypen
enum QTextDocument::FindFlag
flags QTextDocument::FindFlags
Diese Aufzählung beschreibt die Optionen, die für die Suchfunktion von QTextDocument verfügbar sind. Die Optionen aus der folgenden Liste können miteinander verknüpft werden (ODER-Verknüpfung):
| Konstante | Wert | Beschreibung |
|---|---|---|
QTextDocument::FindBackward | 0x00001 | Rückwärts statt vorwärts suchen. |
QTextDocument::FindCaseSensitively | 0x00002 | Standardmäßig unterscheidet „find“ nicht zwischen Groß- und Kleinschreibung. Durch Angabe dieser Option wird das Verhalten auf eine Suche mit Berücksichtigung der Groß- und Kleinschreibung geändert. |
QTextDocument::FindWholeWords | 0x00004 | Sorgt dafür, dass bei der Suche nur vollständige Wörter gefunden werden. |
Der Typ „FindFlags“ ist ein „typedef“ für „QFlags<FindFlag>“. Er speichert eine ODER-Kombination von „FindFlag“-Werten.
enum QTextDocument::MarkdownFeature
flags QTextDocument::MarkdownFeatures
Diese Enumeration legt den unterstützten Funktionsumfang beim Lesen oder Schreiben von Markdown fest.
| Konstante | Wert | Beschreibung |
|---|---|---|
QTextDocument::MarkdownNoHTML | 0x0020 | 0x0040 | Alle HTML-Tags im Markdown-Text werden verworfen |
QTextDocument::MarkdownDialectCommonMark | 0 | Nur die durch CommonMark standardisierten Funktionen |
QTextDocument::MarkdownDialectGitHub | 0x0004 | 0x0008 | 0x0400 | 0x0100 | 0x0200 | 0x0800 | 0x4000 | 0x100000 | Die meisten Funktionen des GitHub-Dialekts |
Konkret umfasst die unterstützte Teilmenge des GitHub-Dialekts alle Funktionen von CommonMark sowie:
- das Erkennen von URLs, „www“ und E-Mail-Adressen und deren Umwandlung in Links
- Durchstreichen
- Unterstreichung (unterscheidet sich von Kursivschrift; in CommonMark ist beides dasselbe)
- Tabellen
- Aufgabenlisten
- front matter
„Front Matter“ besteht häufig aus Metadaten im YAML-Format. Qt enthält derzeit keinen Parser dafür; Sie können jedoch einen Parser eines Drittanbieters verwenden, QTextDocument::metaInformation() aufrufen, um den gesamten Block abzurufen, und Ihren eigenen Parser aufrufen, nachdem Qt die Markdown-Datei geparst hat.
Hinweis: Die Markdown-Ausgabe von ` toMarkdown()` kann derzeit GitHub-Funktionen enthalten, selbst wenn Sie versuchen, diese durch die Angabe eines anderen Enum-Werts zu deaktivieren. Dies wird möglicherweise in einer zukünftigen Version von Qt XML behoben.
Der Typ `MarkdownFeatures` ist ein `typedef` für ` QFlags<MarkdownFeature>`. Er speichert eine ODER-Kombination von `MarkdownFeature`-Werten.
Siehe auch toMarkdown() und setMarkdown().
enum QTextDocument::MetaInformation
Diese Aufzählung beschreibt die verschiedenen Arten von Metainformationen, die einem Dokument hinzugefügt werden können.
| Konstante | Wert | Beschreibung |
|---|---|---|
QTextDocument::DocumentTitle | 0 | Der Titel des Dokuments. |
QTextDocument::DocumentUrl | 1 | Die URL des Dokuments. Die Funktion ` loadResource()` verwendet diese URL als Basis beim Laden relativer Ressourcen. |
QTextDocument::CssMedia | 2 | Dieser Wert wird verwendet, um bei Aufruf von ` setHtml()` die entsprechende „@media“-Regel (sofern vorhanden) aus einem angegebenen CSS-Stylesheet auszuwählen. Dieser Enum-Wert wurde in Qt 6.3 eingeführt. |
QTextDocument::FrontMatter | 3 | Dieser Wert wird verwendet, um Header-Material auszuwählen, sofern dieses beim Parsen der Quelldatei extrahiert wurde (derzeit nur aus dem Markdown-Format). Dieser Enum-Wert wurde in Qt 6.8 eingeführt. |
Siehe auch „ metaInformation()“, „ setMetaInformation()“ und „ setHtml()“.
[alias, since 6.1] QTextDocument::ResourceProvider
Typalias für std::function<QVariant(const QUrl&)>.
Dieser Typedef wurde in Qt 6.1 eingeführt.
enum QTextDocument::ResourceType
Diese Enumeration beschreibt die Arten von Ressourcen, die von der Funktion ` loadResource()` von QTextDocument oder von QTextBrowser::setSource() geladen werden können.
| Konstante | Wert | Beschreibung |
|---|---|---|
QTextDocument::UnknownResource | 0 | Es wird keine Ressource geladen oder der Ressourcentyp ist unbekannt. |
QTextDocument::HtmlResource | 1 | Die Ressource enthält HTML. |
QTextDocument::ImageResource | 2 | Die Ressource enthält Bilddaten. Derzeit unterstützte Datentypen sind „ QMetaType::QPixmap “ und „ QMetaType::QImage “. Wenn die entsprechende Variante vom Typ „ QMetaType::QByteArray “ ist, versucht Qt, das Bild mit „ QImage::loadFromData “ zu laden. „ QMetaType::QIcon “ wird derzeit nicht unterstützt. Das Symbol muss zunächst in einen der unterstützten Typen konvertiert werden, beispielsweise mit „ QIcon::pixmap “. |
QTextDocument::StyleSheetResource | 3 | Die Ressource enthält CSS. |
QTextDocument::MarkdownResource | 4 | Die Ressource enthält Markdown. |
QTextDocument::UserResource | 100 | Der erste verfügbare Wert für benutzerdefinierte Ressourcentypen. |
Siehe auch loadResource() und QTextBrowser::sourceType().
enum QTextDocument::Stacks
| Konstante | Wert | Beschreibung |
|---|---|---|
QTextDocument::UndoStack | 0x01 | Der Undo-Stack. |
QTextDocument::RedoStack | 0x02 | Der Wiederherstellungsstapel. |
QTextDocument::UndoAndRedoStacks | UndoStack | RedoStack | Sowohl der Undo- als auch der Redo-Stack. |
Dokumentation zu den Eigenschaften
baseUrl : QUrl
Diese Eigenschaft enthält die Basis-URL, die zum Auflösen relativer Ressourcen-URLs innerhalb des Dokuments verwendet wird.
Ressourcen-URLs werden so aufgelöst, dass sie sich im selben Verzeichnis wie das Ziel der Basis-URL befinden, d. h., jeder Teil des Pfads nach dem letzten „/“ wird ignoriert.
| Basis-URL | Relative URL | Aufgelöste URL |
|---|---|---|
| file:///Pfad/zum/Inhalt | images/logo.png | file:///Pfad/zu/Bilder/Logo.png |
| file:///Pfad/zu/Inhalt/ | images/logo.png | file:///Pfad/zu/Inhalt/Bilder/Logo.png |
| file:///Pfad/zu/Inhalt/index.html | images/logo.png | file:///Pfad/zu/Inhalt/Bilder/Logo.png |
| file:///Pfad/zu/Inhalt/Bilder/ | ../images/logo.png | file:///Pfad/zu/Inhalt/Bilder/Logo.png |
Zugriffsfunktionen:
| QUrl | baseUrl() const |
| void | setBaseUrl(const QUrl &url) |
Benachrichtigungssignal:
| void | baseUrlChanged(const QUrl &url) |
[read-only] blockCount : int
Diese Eigenschaft gibt die Anzahl der Textblöcke im Dokument an.
Der Wert dieser Eigenschaft ist in Dokumenten mit Tabellen oder Rahmen nicht definiert.
Standardmäßig enthält diese Eigenschaft, sofern definiert, den Wert 1.
Zugriffsfunktionen:
| int | blockCount() const |
Siehe auch „ lineCount()“ und „ characterCount()“.
defaultFont : QFont
Diese Eigenschaft enthält die Standardschriftart, die zur Darstellung des Dokumenttextes verwendet wird
Zugriffsfunktionen:
| QFont | defaultFont() const |
| void | setDefaultFont(const QFont &font) |
defaultStyleSheet : QString
Das Standard-Stylesheet wird auf allen neu in HTML formatierten Text angewendet, der in das Dokument eingefügt wird, beispielsweise mithilfe von setHtml() oder QTextCursor::insertHtml().
Das Stylesheet muss der CSS-2.1-Syntax entsprechen.
Hinweis: Das Ändern des Standard-Stylesheets hat keine Auswirkungen auf den bereits vorhandenen Inhalt des Dokuments.
Zugriffsfunktionen:
| QString | defaultStyleSheet() const |
| void | setDefaultStyleSheet(const QString &sheet) |
Siehe auch „Unterstützte HTML-Teilmenge“.
defaultTextOption : QTextOption
Diese Eigenschaft legt fest, dass die Standardtextoption für alle „ QTextLayout“ im Dokument festgelegt wird.
Beim Erstellen von „ QTextBlocks“ wird die Eigenschaft „defaultTextOption“ in deren „ QTextLayout “ festgelegt. Dies ermöglicht die Festlegung globaler Eigenschaften für das Dokument, wie beispielsweise den Standardmodus für den Zeilenumbruch.
Zugriffsfunktionen:
| QTextOption | defaultTextOption() const |
| void | setDefaultTextOption(const QTextOption &option) |
documentMargin : qreal
Der Rand um das Dokument herum. Der Standardwert beträgt 4.
Zugriffsfunktionen:
| qreal | documentMargin() const |
| void | setDocumentMargin(qreal margin) |
indentWidth : qreal
Gibt die Breite zurück, die für die Einrückung von Textlisten und Textblöcken verwendet wird.
Die Einrückungseigenschaften von „ QTextListFormat “ und „ QTextBlockFormat “ legen ein Vielfaches dieses Werts fest. Die Standard-Einrückungsbreite beträgt 40.
Zugriffsfunktionen:
| qreal | indentWidth() const |
| void | setIndentWidth(qreal width) |
[since 6.4] layoutEnabled : bool
Diese Eigenschaft legt fest, ob „ QTextDocument “ das Layout nach jeder Änderung neu berechnen soll
Ist diese Eigenschaft auf „true“ gesetzt, löst jede Änderung am Dokument eine Layoutberechnung aus, wodurch zwar alles wie erwartet funktioniert, dies jedoch Zeit in Anspruch nimmt.
Das vorübergehende Deaktivieren des Layouts kann Zeit sparen, wenn mehrere Änderungen vorgenommen werden (nicht nur am Textinhalt, sondern auch an der Standardschriftart, der Standardtextoption usw.), sodass das Dokument erst am Ende ein einziges Mal neu layoutet wird. Dies kann beispielsweise nützlich sein, wenn die Textbreite oder die Seitengröße noch nicht bekannt ist.
Standardmäßig ist diese Eigenschaft auf „ true “ gesetzt.
Diese Aufzählung wurde in Qt 6.4 eingeführt.
Zugriffsfunktionen:
| bool | isLayoutEnabled() const |
| void | setLayoutEnabled(bool b) |
Siehe auch „ setTextWidth “.
maximumBlockCount : int
Legt die Obergrenze für die Anzahl der Blöcke im Dokument fest.
Legt die maximale Anzahl an Blöcken fest, die das Dokument enthalten darf. Wenn das Dokument mehr Blöcke enthält, als mit dieser Eigenschaft festgelegt wurde, werden Blöcke vom Anfang des Dokuments entfernt.
Ein negativer Wert oder der Wert Null bedeutet, dass das Dokument eine unbegrenzte Anzahl von Blöcken enthalten darf.
Der Standardwert ist 0.
Beachten Sie, dass durch das Festlegen dieser Eigenschaft die Begrenzung sofort auf den Dokumentinhalt angewendet wird.
Das Setzen dieser Eigenschaft deaktiviert zudem den Rückgängig-Wiederherstellen-Verlauf.
Diese Eigenschaft ist in Dokumenten mit Tabellen oder Rahmen nicht definiert.
Zugriffsfunktionen:
| int | maximumBlockCount() const |
| void | setMaximumBlockCount(int maximum) |
modified : bool
Diese Eigenschaft gibt an, ob das Dokument vom Benutzer geändert wurde
Standardmäßig lautet diese Eigenschaft „ false “.
Zugriffsfunktionen:
| bool | isModified() const |
| void | setModified(bool m = true) |
Siehe auch „ modificationChanged()“.
pageSize : QSizeF
Diese Eigenschaft enthält die Seitengröße, die für das Layout des Dokuments verwendet werden soll
Die Einheiten werden durch das zugrunde liegende Zeichen-Gerät bestimmt. Die Größe wird beim Zeichnen auf dem Bildschirm in logischen Pixeln und beim Zeichnen auf einem Drucker in Punkten (1/72 Zoll) gemessen.
Standardmäßig enthält diese Eigenschaft bei einem neu erstellten, leeren Dokument eine undefinierte Größe.
Zugriffsfunktionen:
| QSizeF | pageSize() const |
| void | setPageSize(const QSizeF &size) |
Siehe auch „ modificationChanged()“.
[read-only] size : QSizeF
Diese Eigenschaft enthält die tatsächliche Größe des Dokuments. Dies entspricht „ documentLayout()->documentSize();“
Die Größe des Dokuments kann entweder durch Festlegen einer Textbreite oder durch Festlegen einer gesamten Seitengröße geändert werden.
Beachten Sie, dass die Breite immer >= pageSize().width() ist.
Standardmäßig enthält diese Eigenschaft bei einem neu erstellten, leeren Dokument eine konfigurationsabhängige Größe.
Zugriffsfunktionen:
| QSizeF | size() const |
Siehe auch setTextWidth(), setPageSize() und idealWidth().
textWidth : qreal
Die Textbreite legt die bevorzugte Breite für Text im Dokument fest. Ist der Text (oder der Inhalt im Allgemeinen) breiter als die angegebene Breite, wird er in mehrere Zeilen umgebrochen und dehnt sich in der Höhe aus. Kann der Text nicht in mehrere Zeilen umgebrochen werden, um in die angegebene Textbreite zu passen, wird er größer dargestellt, was sich in den Eigenschaften „ size()“ und „ idealWidth()“ widerspiegelt.
Ist die Textbreite auf -1 gesetzt, wird der Text nicht in mehrere Zeilen umgebrochen, es sei denn, dies wird durch einen expliziten Zeilenumbruch oder einen neuen Absatz erzwungen.
Der Standardwert ist -1.
Durch das Festlegen der Textbreite wird auch die Seitenhöhe auf -1 gesetzt, wodurch sich das Dokument vertikal kontinuierlich vergrößert oder verkleinert. Wenn das Dokumentlayout den Text auf mehrere Seiten aufteilen soll, müssen Sie stattdessen die Eigenschaft „ pageSize “ festlegen.
Zugriffsfunktionen:
| qreal | textWidth() const |
| void | setTextWidth(qreal width) |
Siehe auch „ size()“, „ idealWidth()“ und „ pageSize()“.
undoRedoEnabled : bool
Diese Eigenschaft gibt an, ob „Rückgängig“ und „Wiederherstellen“ für dieses Dokument aktiviert sind
Der Standardwert ist „true“. Wenn diese Eigenschaft deaktiviert ist, wird der Rückgängig-Stapel geleert und es werden keine Elemente mehr hinzugefügt.
Zugriffsfunktionen:
| bool | isUndoRedoEnabled() const |
| void | setUndoRedoEnabled(bool enable) |
useDesignMetrics : bool
Diese Eigenschaft legt fest, ob das Dokument Design-Metriken von Schriftarten verwendet, um die Genauigkeit des Textlayouts zu verbessern
Wenn diese Eigenschaft auf „true“ gesetzt ist, verwendet das Layout Designmetriken. Andernfalls werden die Metriken des Zeichen-Geräts verwendet, wie sie in ` QAbstractTextDocumentLayout::setPaintDevice()` festgelegt wurden.
Durch die Verwendung von Designmetriken hängt die Breite eines Layouts nicht mehr von Hinting und Pixelrundung ab. Dies bedeutet, dass ein WYSIWYG-Textlayout möglich wird, da sich die Breite auf Basis der Metriken des Zeichen-Geräts wesentlich linearer skaliert, als dies sonst der Fall wäre.
Standardmäßig ist diese Eigenschaft auf „ false “ gesetzt.
Zugriffsfunktionen:
| bool | useDesignMetrics() const |
| void | setUseDesignMetrics(bool b) |
Dokumentation der Mitgliedsfunktionen
[explicit] QTextDocument::QTextDocument(QObject *parent = nullptr)
Erstellt ein leeres QTextDocument mit dem angegebenen „ parent “.
[explicit] QTextDocument::QTextDocument(const QString &text, QObject *parent = nullptr)
Erstellt ein QTextDocument, das den angegebenen einfachen (unformatierten) Text „ text “ enthält und die angegebene „ parent “ aufweist.
[virtual noexcept] QTextDocument::~QTextDocument()
Vernichtet das Dokument.
void QTextDocument::addResource(int type, const QUrl &name, const QVariant &resource)
Fügt die Ressource resource zum Ressourcen-Cache hinzu und verwendet dabei type und name als Bezeichner. type sollte ein Wert aus QTextDocument::ResourceType sein.
Beispielsweise können Sie ein Bild als Ressource hinzufügen, um im Dokument darauf zu verweisen:
document->addResource(QTextDocument::ImageResource,
QUrl("mydata://image.png"), QVariant(image));Das Bild kann mithilfe der „ QTextCursor “-API in das Dokument eingefügt werden:
QTextImageFormat imageFormat;
imageFormat.setName("mydata://image.png");
cursor.insertImage(imageFormat);Alternativ können Sie Bilder mithilfe des HTML-Tags ` img ` einfügen:
editor->append("<img src=\"mydata://image.png\" />");void QTextDocument::adjustSize()
Passt das Dokument auf eine angemessene Größe an.
Siehe auch idealWidth(), textWidth und size.
QList<QTextFormat> QTextDocument::allFormats() const
Gibt eine Liste der Textformate für alle im Dokument verwendeten Formate zurück.
int QTextDocument::availableRedoSteps() const
Gibt die Anzahl der verfügbaren Redo-Schritte zurück.
Siehe auch „ isRedoAvailable()“.
int QTextDocument::availableUndoSteps() const
Gibt die Anzahl der verfügbaren Rückgängig-Schritte zurück.
Siehe auch „ isUndoAvailable()“.
[since 6.0] qreal QTextDocument::baselineOffset() const
Gibt den im Dokumentlayout verwendeten Grundlinienversatz in Prozent zurück.
Diese Funktion wurde in Qt 6.0 eingeführt.
Siehe auch setBaselineOffset(), setSubScriptBaseline(), subScriptBaseline(), setSuperScriptBaseline() und superScriptBaseline().
QTextBlock QTextDocument::begin() const
Gibt den ersten Textblock des Dokuments zurück.
Siehe auch ` firstBlock()`.
[signal] void QTextDocument::blockCountChanged(int newBlockCount)
Dieses Signal wird ausgelöst, wenn sich die Gesamtzahl der Textblöcke im Dokument ändert. Der an „ newBlockCount “ übergebene Wert ist die neue Gesamtzahl.
QChar QTextDocument::characterAt(int pos) const
Gibt das Zeichen an der Position pos zurück oder ein Nullzeichen, wenn die Position außerhalb des zulässigen Bereichs liegt.
Siehe auch characterCount().
int QTextDocument::characterCount() const
Gibt die Anzahl der Zeichen in diesem Dokument zurück.
Hinweis: Da ein ` QTextDocument ` immer mindestens ein ` QChar::ParagraphSeparator` enthält, gibt diese Methode mindestens 1 zurück.
Siehe auch „ blockCount()“ und „ characterAt()“.
[virtual] void QTextDocument::clear()
Löscht das Dokument.
void QTextDocument::clearUndoRedoStacks(QTextDocument::Stacks stacksToClear = UndoAndRedoStacks)
Löscht die durch ` stacksToClear` angegebenen Stacks.
Diese Methode löscht alle Befehle im Rückgängig-Stapel, im Wiederherstellen-Stapel oder in beiden (Standard). Wenn Befehle gelöscht werden, werden die entsprechenden Signale ausgelöst: „ QTextDocument::undoAvailable()“ oder „ QTextDocument::redoAvailable()“.
Siehe auch ` QTextDocument::undoAvailable()` und ` QTextDocument::redoAvailable()`.
QTextDocument *QTextDocument::clone(QObject *parent = nullptr) const
Erstellt ein neues „ QTextDocument “, das eine Kopie dieses Textdokuments darstellt. „ parent “ ist das übergeordnete Element des zurückgegebenen Textdokuments.
[signal] void QTextDocument::contentsChange(int position, int charsRemoved, int charsAdded)
Dieses Signal wird immer dann ausgelöst, wenn sich der Inhalt des Dokuments ändert, beispielsweise wenn Text eingefügt oder gelöscht wird oder wenn eine Formatierung vorgenommen wird.
Es werden Informationen über die „ position “ des Zeichens im Dokument, an dem die Änderung stattfand, die Anzahl der entfernten Zeichen (charsRemoved) und die Anzahl der hinzugefügten Zeichen (charsAdded) bereitgestellt.
Das Signal wird ausgegeben, bevor der Layout-Manager des Dokuments über die Änderung informiert wird. Mit diesem Hook können Sie eine Syntaxhervorhebung für das Dokument implementieren.
Siehe auch ` QAbstractTextDocumentLayout::documentChanged()` und ` contentsChanged()`.
[signal] void QTextDocument::contentsChanged()
Dieses Signal wird immer dann ausgelöst, wenn sich der Inhalt des Dokuments ändert, beispielsweise wenn Text eingefügt oder gelöscht wird oder wenn eine Formatierung angewendet wird.
Siehe auch „ contentsChange“ ().
[virtual protected] QTextObject *QTextDocument::createObject(const QTextFormat &format)
Erstellt ein neues Dokumentobjekt (ein ` QTextObject`) auf der Grundlage des angegebenen ` format` und gibt es zurück.
QTextObjects werden immer über diese Methode erstellt. Daher müssen Sie sie neu implementieren, wenn Sie benutzerdefinierte Textobjekte in Ihrem Dokument verwenden.
[signal] void QTextDocument::cursorPositionChanged(const QTextCursor &cursor)
Dieses Signal wird immer dann ausgelöst, wenn sich die Position eines Cursors aufgrund einer Bearbeitungsaktion geändert hat. Der betroffene Cursor wird in ` cursor` übergeben. Wenn das Dokument mit der Klasse ` QTextEdit ` verwendet wird und Sie ein Signal benötigen, wenn der Cursor mit den Pfeiltasten bewegt wird, können Sie das Signal ` cursorPositionChanged()` in ` QTextEdit` verwenden.
Qt::CursorMoveStyle QTextDocument::defaultCursorMoveStyle() const
Der Standardstil für die Cursorbewegung wird von allen „ QTextCursor “-Objekten verwendet, die aus dem Dokument erstellt werden. Die Standardeinstellung lautet „ Qt::LogicalMoveStyle “.
Siehe auch setDefaultCursorMoveStyle().
QFont QTextDocument::defaultFont() const
Gibt die Standardschriftart zurück, die im Dokumentlayout verwendet werden soll.
Hinweis: Getter -Funktion für die Eigenschaft „defaultFont“.
Siehe auch „ setDefaultFont()“.
[static, since 6.1] QTextDocument::ResourceProvider QTextDocument::defaultResourceProvider()
Gibt den Standard-Ressourcenanbieter zurück.
Diese Funktion wurde in Qt 6.1 eingeführt.
Siehe auch setDefaultResourceProvider(), resourceProvider() und loadResource().
QTextOption QTextDocument::defaultTextOption() const
Die Standardtextoption wird für alle „ QTextLayout “-Objekte im Dokument verwendet. Damit lassen sich globale Eigenschaften für das Dokument festlegen, wie beispielsweise der Standardmodus für den Zeilenumbruch.
Hinweis: Getter -Funktion für die Eigenschaft „defaultTextOption“.
Siehe auch „ setDefaultTextOption()“.
QAbstractTextDocumentLayout *QTextDocument::documentLayout() const
Gibt das Dokumentlayout für dieses Dokument zurück.
Siehe auch „ setDocumentLayout()“.
[signal] void QTextDocument::documentLayoutChanged()
Dieses Signal wird ausgelöst, wenn ein neues Dokumentlayout festgelegt wird.
Siehe auch „ setDocumentLayout()“.
void QTextDocument::drawContents(QPainter *p, const QRectF &rect = QRectF())
Zeichnet den Inhalt des Dokuments mit dem Maler- p, beschnitten auf rect. Ist rect ein Null-Rechteck (Standard), wird das Dokument unbeschnitten gezeichnet.
QTextBlock QTextDocument::end() const
Diese Funktion gibt einen Block zurück, mit dem beim Durchlaufen des Dokuments geprüft werden kann, ob das Ende des Dokuments erreicht ist.
for (QTextBlock it = doc->begin(); it != doc->end(); it = it.next())
std::cout << it.text().toStdString() << "\n";Der zurückgegebene Block ist ungültig und stellt den Block nach dem letzten Block im Dokument dar. Mit ` lastBlock()` können Sie den letzten gültigen Block des Dokuments abrufen.
Siehe auch ` lastBlock()`.
QTextCursor QTextDocument::find(const QRegularExpression &expr, const QTextCursor &cursor, QTextDocument::FindFlags options = FindFlags()) const
Sucht innerhalb desselben Absatzes im Dokument nach dem nächsten Vorkommen, das dem angegebenen regulären Ausdruck „ expr “ entspricht.
Die Suche beginnt an der Position des angegebenen „ cursor “ und verläuft vorwärts durch das Dokument, sofern in den Suchoptionen nichts anderes festgelegt ist. Die „ options “ steuern die Art der durchgeführten Suche.
Gibt einen Cursor zurück, bei dem die Übereinstimmung markiert ist, falls eine Übereinstimmung gefunden wurde; andernfalls wird ein Null-Cursor zurückgegeben.
Wenn der angegebene ` cursor ` eine Auswahl enthält, beginnt die Suche nach der Auswahl; andernfalls beginnt sie an der Cursorposition.
Standardmäßig wird bei der Suche die Groß-/Kleinschreibung nicht berücksichtigt, und es kann nach Text an beliebiger Stelle im Dokument gesucht werden.
QTextCursor QTextDocument::find(const QRegularExpression &expr, int from = 0, QTextDocument::FindFlags options = FindFlags()) const
Sucht innerhalb desselben Absatzes im Dokument nach dem nächsten Vorkommen, das dem angegebenen regulären Ausdruck „ expr “ entspricht.
Die Suche beginnt an der angegebenen Position „ from “ und verläuft vorwärts durch das Dokument, sofern in den Suchoptionen nichts anderes festgelegt ist. Die „ options “ steuern die Art der durchgeführten Suche.
Gibt einen Cursor zurück, bei dem die Übereinstimmung markiert ist, sofern eine Übereinstimmung gefunden wurde; andernfalls wird ein Null-Cursor zurückgegeben.
Ist die Position „ from “ 0 (Standard), beginnt die Suche am Anfang des Dokuments; andernfalls beginnt sie an der angegebenen Position.
Warnung: Aus historischen Gründen wird die für „ expr “ festgelegte Option zur Groß-/Kleinschreibung ignoriert. Stattdessen werden die „ options “ verwendet, um zu bestimmen, ob bei der Suche die Groß-/Kleinschreibung berücksichtigt wird oder nicht.
QTextCursor QTextDocument::find(const QString &subString, const QTextCursor &cursor, QTextDocument::FindFlags options = FindFlags()) const
Sucht im Dokument nach dem nächsten Vorkommen der Zeichenfolge „ subString “. Die Suche beginnt an der Position des angegebenen „ cursor “ und verläuft forwärts durch das Dokument, sofern in den Suchoptionen nichts anderes festgelegt ist. Die „ options “ legen die Art der durchgeführten Suche fest.
Gibt einen Cursor zurück, bei dem die Übereinstimmung markiert ist, wenn „ subString “ gefunden wurde; andernfalls wird ein Null-Cursor zurückgegeben.
Wenn der angegebene ` cursor ` eine Auswahl enthält, beginnt die Suche nach der Auswahl; andernfalls beginnt sie an der Cursorposition.
Standardmäßig erfolgt die Suche ohne Berücksichtigung der Groß-/Kleinschreibung und kann Text an beliebiger Stelle im Dokument finden.
QTextCursor QTextDocument::find(const QString &subString, int position = 0, QTextDocument::FindFlags options = FindFlags()) const
Sucht im Dokument nach dem nächsten Vorkommen der Zeichenfolge „ subString “. Die Suche beginnt an der angegebenen Position „ position “ und verläuft vorwärts durch das Dokument, sofern in den Suchoptionen nichts anderes festgelegt ist. Die Suchoptionen „ options “ legen die Art der durchgeführten Suche fest.
Gibt einen Cursor zurück, bei dem die Übereinstimmung markiert ist, wenn „ subString “ gefunden wurde; andernfalls wird ein Null-Cursor zurückgegeben.
Ist der Parameter „ position “ gleich 0 (Standardwert), beginnt die Suche am Anfang des Dokuments; andernfalls beginnt sie an der angegebenen Position.
Dies ist eine überladene Funktion.
QTextBlock QTextDocument::findBlock(int pos) const
Gibt den Textblock zurück, der das -te Zeichen von „ pos “ enthält.
QTextBlock QTextDocument::findBlockByLineNumber(int lineNumber) const
Gibt den Textblock zurück, der den angegebenen „ lineNumber “ enthält.
Siehe auch QTextBlock::firstLineNumber().
QTextBlock QTextDocument::findBlockByNumber(int blockNumber) const
Gibt den Textblock mit dem angegebenen „ blockNumber “ zurück.
Siehe auch QTextBlock::blockNumber().
QTextBlock QTextDocument::firstBlock() const
Gibt den ersten Textblock des Dokuments zurück.
qreal QTextDocument::idealWidth() const
Gibt die ideale Breite des Textdokuments zurück. Die ideale Breite ist die tatsächlich genutzte Breite des Dokuments, ohne Berücksichtigung optionaler Ausrichtungen. Sie ist immer <= size().width().
Siehe auch adjustSize() und textWidth.
bool QTextDocument::isEmpty() const
Gibt „ true “ zurück, wenn das Dokument leer ist; andernfalls wird „ false “ zurückgegeben.
bool QTextDocument::isRedoAvailable() const
Gibt „ true “ zurück, wenn „redo“ verfügbar ist; andernfalls wird „ false “ zurückgegeben.
Siehe auch „ isUndoAvailable()“ und „ availableRedoSteps()“.
bool QTextDocument::isUndoAvailable() const
Gibt „ true “ zurück, wenn die Rückgängig-Funktion verfügbar ist; andernfalls gibt es „ false “ zurück.
Siehe auch „ isRedoAvailable()“ und „ availableUndoSteps()“.
QTextBlock QTextDocument::lastBlock() const
Gibt den letzten (gültigen) Textblock des Dokuments zurück.
int QTextDocument::lineCount() const
Gibt die Anzahl der Zeilen dieses Dokuments zurück (sofern das Layout dies unterstützt). Andernfalls entspricht diese Zahl der Anzahl der Blöcke.
Siehe auch blockCount() und characterCount().
[virtual protected invokable] QVariant QTextDocument::loadResource(int type, const QUrl &name)
Lädt Daten des angegebenen „ type “ aus der Ressource mit der angegebenen „ name “ .
Diese Funktion wird von der Rich-Text-Engine aufgerufen, um Daten anzufordern, die nicht direkt von QTextDocument gespeichert werden, aber dennoch damit verknüpft sind. Beispielsweise werden Bilder indirekt über das „name“-Attribut eines QTextImageFormat -Objekts referenziert.
Wenn die Funktion von Qt XML aufgerufen wird, ist ` type ` einer der Werte von ` QTextDocument::ResourceType`.
Ist „ QTextDocument “ ein untergeordnetes Objekt eines „ QObject “, das über eine aufrufbare „loadResource“-Methode wie „ QTextEdit “, „ QTextBrowser “ oder „ QTextDocument “ selbst verfügt, versucht die Standardimplementierung, die Daten vom übergeordneten Objekt abzurufen.
Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe Q_INVOKABLE.
Siehe auch QTextDocument::ResourceProvider.
void QTextDocument::markContentsDirty(int position, int length)
Markiert die durch die angegebenen position und length bezeichneten Inhalte als „dirty“ und teilt dem Dokument damit mit, dass es neu gesetzt werden muss.
QString QTextDocument::metaInformation(QTextDocument::MetaInformation info) const
Gibt Metainformationen über das Dokument des durch „ info “ angegebenen Typs zurück.
Siehe auch setMetaInformation().
[signal] void QTextDocument::modificationChanged(bool changed)
Dieses Signal wird immer dann ausgelöst, wenn sich der Inhalt des Dokuments so ändert, dass sich der Änderungsstatus ändert. Ist „ changed “ wahr, wurde das Dokument geändert; andernfalls ist es falsch.
Wird beispielsweise „ setModified “ (false) für ein Dokument aufgerufen und anschließend Text eingefügt, wird das Signal ausgelöst. Wenn Sie diesen Vorgang rückgängig machen, wodurch das Dokument in seinen ursprünglichen, unveränderten Zustand zurückversetzt wird, wird das Signal erneut ausgelöst.
QTextObject *QTextDocument::object(int objectIndex) const
Gibt das Textobjekt zurück, das dem angegebenen ` objectIndex` zugeordnet ist.
QTextObject *QTextDocument::objectForFormat(const QTextFormat &f) const
Gibt das Text-Objekt zurück, das dem Format „ f “ zugeordnet ist.
int QTextDocument::pageCount() const
Gibt die Anzahl der Seiten in diesem Dokument zurück.
void QTextDocument::print(QPagedPaintDevice *printer) const
Druckt das Dokument auf den angegebenen Drucker „ printer “. Der Drucker „ QPagedPaintDevice “ muss vor der Verwendung mit dieser Funktion eingerichtet werden.
Dies ist lediglich eine Komfortmethode, um das gesamte Dokument auf dem Drucker auszudrucken.
Wenn das Dokument bereits über eine in der Eigenschaft „ pageSize()“ angegebene Höhe paginiert ist, wird es unverändert gedruckt.
Ist das Dokument nicht paginiert, wie beispielsweise ein in einem ` QTextEdit` verwendetes Dokument, wird eine temporäre Kopie des Dokuments erstellt und diese Kopie entsprechend der Größe von `paperRect()` des Druckgeräts auf mehrere Seiten aufgeteilt. Standardmäßig wird ein Rand von 2 cm um den Dokumentinhalt herum festgelegt. Zudem wird die aktuelle Seitenzahl am unteren Rand jeder Seite gedruckt.
Siehe auch ` QTextEdit::print()`.
void QTextDocument::redo(QTextCursor *cursor)
Führt den letzten Bearbeitungsschritt am Dokument erneut aus, wenn redo is available.
Der übergebene ` cursor ` wird am Ende der Stelle positioniert, an der der Bearbeitungsvorgang wiederholt wurde.
[slot] void QTextDocument::redo()
Führt den letzten Bearbeitungsvorgang am Dokument erneut aus, wenn „ redo is available “ gesetzt ist.
Hinweis: Dieser Slot ist überladen. So stellen Sie eine Verbindung zu diesem Slot her:
// Connect using qOverload:
connect(sender, &SenderClass::signal,
textDocument, qOverload<>(&QTextDocument::redo));
// Or using a lambda as wrapper:
connect(sender, &SenderClass::signal,
textDocument, [receiver = textDocument]() { receiver->redo(); });[signal] void QTextDocument::redoAvailable(bool available)
Dieses Signal wird ausgegeben, sobald Redo-Operationen verfügbar sind (available ist wahr) oder nicht verfügbar sind (available ist falsch).
QVariant QTextDocument::resource(int type, const QUrl &name) const
Gibt Daten des angegebenen „ type “ aus der Ressource mit der angegebenen „ name “ zurück.
Diese Funktion wird von der Rich-Text-Engine aufgerufen, um Daten anzufordern, die nicht direkt von ` QTextDocument` gespeichert werden, aber dennoch damit in Verbindung stehen. Beispielsweise werden Bilder indirekt über das `name`-Attribut eines ` QTextImageFormat `-Objekts referenziert.
Ressourcen werden intern im Dokument zwischengespeichert. Kann eine Ressource nicht im Cache gefunden werden, wird ` loadResource ` aufgerufen, um zu versuchen, die Ressource zu laden. ` loadResource ` sollte dann mithilfe von ` addResource ` die Ressource dem Cache hinzufügen.
Wenn „ loadResource “ die Ressource nicht lädt, werden „ resourceProvider “ und schließlich „ defaultResourceProvider “ aufgerufen, sofern diese definiert sind. Beachten Sie, dass das Ergebnis des Anbieters nicht automatisch zum Cache hinzugefügt wird.
Siehe auch QTextDocument::ResourceType und resourceProvider().
[since 6.1] QTextDocument::ResourceProvider QTextDocument::resourceProvider() const
Gibt den Ressourcenanbieter für dieses Textdokument zurück.
Diese Funktion wurde in Qt 6.1 eingeführt.
Siehe auch setResourceProvider(), defaultResourceProvider() und loadResource().
int QTextDocument::revision() const
Gibt die Revision des Dokuments zurück (sofern die Rückgängig-Funktion aktiviert ist).
Die Revisionsnummer erhöht sich garantiert, wenn ein Dokument bearbeitet wird, das zuvor nicht geändert wurde.
Siehe auch QTextBlock::revision() und isModified().
QTextFrame *QTextDocument::rootFrame() const
Gibt den Stammrahmen des Dokuments zurück.
[since 6.0] void QTextDocument::setBaselineOffset(qreal baseline)
Legt die Grundlinie als Prozentsatz der Schrifthöhe fest, der im Dokumentlayout verwendet werden soll ( baseline). Der Standardwert ist 0. Ein positiver Wert verschiebt den Text um den entsprechenden Prozentsatz nach oben; ein negativer Wert verschiebt ihn nach unten.
Diese Funktion wurde in Qt 6.0 eingeführt.
Siehe auch baselineOffset(), setSubScriptBaseline(), subScriptBaseline(), setSuperScriptBaseline() und superScriptBaseline().
void QTextDocument::setDefaultCursorMoveStyle(Qt::CursorMoveStyle style)
Legt den Standardstil für die Cursorbewegung auf den angegebenen Wert „ style “ fest.
Siehe auch defaultCursorMoveStyle().
void QTextDocument::setDefaultFont(const QFont &font)
Legt die Standard- font fest, die im Dokumentlayout verwendet werden soll.
Hinweis: Setter -Funktion für die Eigenschaft „ defaultFont “.
Siehe auch „ defaultFont()“.
[static, since 6.1] void QTextDocument::setDefaultResourceProvider(const QTextDocument::ResourceProvider &provider)
Legt den Standard-Ressourcenanbieter auf „ provider “ fest.
Der Standardanbieter wird von allen `QTextDocument`-Objekten verwendet, für die kein Anbieter explizit festgelegt wurde.
Diese Funktion wurde in Qt 6.1 eingeführt.
Siehe auch „ defaultResourceProvider()“, „ setResourceProvider()“ und „ loadResource()“.
void QTextDocument::setDefaultTextOption(const QTextOption &option)
Legt die Standardtextoption auf „ option “ fest.
Hinweis: Setter -Funktion für die Eigenschaft „ defaultTextOption “.
Siehe auch „ defaultTextOption()“.
void QTextDocument::setDocumentLayout(QAbstractTextDocumentLayout *layout)
Legt fest, dass das Dokument das angegebene Layout „ layout “ verwendet. Das bisherige Layout wird gelöscht.
Siehe auch documentLayoutChanged().
void QTextDocument::setHtml(const QString &html)
Ersetzt den gesamten Inhalt des Dokuments durch den angegebenen HTML-formatierten Text in der Zeichenkette „ html “. Der Verlauf der Rückgängig- und Wiederherstellungsaktionen wird beim Aufruf dieser Funktion zurückgesetzt.
Die HTML-Formatierung wird so weit wie möglich beibehalten; beispielsweise erzeugt „<b>bold</b> text“ einen Text, bei dem das erste Wort eine Schriftstärke aufweist, die ihm ein fettgedrucktes Aussehen verleiht: „bold text“.
Um eine andere CSS-Medienregel als die Standardregel „screen“ auszuwählen, verwenden Sie setMetaInformation() mit „CssMedia “ als „info“-Parameter.
Hinweis: Es liegt in der Verantwortung des Aufrufers, sicherzustellen, dass der Text korrekt dekodiert wird, wenn ein QString erstellt und an setHtml() übergeben wird, der HTML enthält.
Siehe auch setPlainText(), Unterstützte HTML-Teilmenge und setMetaInformation().
void QTextDocument::setIndentWidth(qreal width)
Legt den Wert „ width “ fest, der für die Einrückung von Textlisten und Textblöcken verwendet wird.
Die Einrückungseigenschaften von „ QTextListFormat “ und „ QTextBlockFormat “ legen Vielfache dieses Werts fest. Die Standard-Einrückungsbreite beträgt 40.
Hinweis: Setter -Funktion für die Eigenschaft „ indentWidth “.
Siehe auch „ indentWidth()“.
void QTextDocument::setMarkdown(const QString &markdown, QTextDocument::MarkdownFeatures features = MarkdownDialectGitHub)
Ersetzt den gesamten Inhalt des Dokuments durch den in der Zeichenfolge „ markdown “ angegebenen, im Markdown-Format formatierten Text, wobei die in „ features “ angegebenen Formatierungen unterstützt werden. Standardmäßig werden alle unterstützten Markdown-Funktionen im GitHub-Stil berücksichtigt; übergebe „ MarkdownDialectCommonMark “, um eine einfachere Analyse durchzuführen.
Die Markdown-Formatierung wird so weit wie möglich beibehalten; beispielsweise erzeugt „*fettgedruckter* Text“ einen Text, bei dem das erste Wort eine Schriftstärke aufweist, die ihm ein hervorgehobenes Aussehen verleiht.
Die Analyse von HTML, das in der Zeichenkette ` markdown ` enthalten ist, erfolgt auf dieselbe Weise wie in ` setHtml`; Markdown-Formatierungen innerhalb von HTML-Blöcken werden jedoch nicht unterstützt.
Einige Funktionen des Parsers können über das Argument „ features “ aktiviert oder deaktiviert werden. Die Standardeinstellung ist „ MarkdownDialectGitHub “.
Der Verlauf der Rückgängig- und Wiederherstellungsaktionen wird beim Aufruf dieser Funktion zurückgesetzt.
void QTextDocument::setMetaInformation(QTextDocument::MetaInformation info, const QString &string)
Setzt die Metainformationen des Dokuments des durch „ info “ angegebenen Typs auf den angegebenen Wert „ string “.
Siehe auch metaInformation().
void QTextDocument::setPlainText(const QString &text)
Ersetzt den gesamten Inhalt des Dokuments durch den angegebenen reinen Text text. Der Verlauf der Rückgängig- und Wiederherstellungsaktionen wird beim Aufruf dieser Funktion zurückgesetzt.
Siehe auch setHtml().
[since 6.1] void QTextDocument::setResourceProvider(const QTextDocument::ResourceProvider &provider)
Legt den Anbieter der Ressourcen für das Textdokument auf „ provider “ fest.
Diese Funktion wurde in Qt 6.1 eingeführt.
Siehe auch „ resourceProvider()“ und „ loadResource()“.
[since 6.0] void QTextDocument::setSubScriptBaseline(qreal baseline)
Legt die Basislinie des Standard-Index als Prozentsatz der Schriftgröße fest, der im Dokumentlayout verwendet werden soll: baseline. Der Standardwert beträgt 16,67 % (1/6 der Höhe).
Diese Funktion wurde in Qt 6.0 eingeführt.
Siehe auch subScriptBaseline(), setSuperScriptBaseline(), superScriptBaseline(), setBaselineOffset() und baselineOffset().
[since 6.0] void QTextDocument::setSuperScriptBaseline(qreal baseline)
Legt die Basislinie für hochgestellte Zeichen als Prozentsatz der Schrifthöhe fest, der im Dokumentlayout verwendet werden soll: baseline. Der Standardwert beträgt 50 % (1/2 der Höhe).
Diese Funktion wurde in Qt 6.0 eingeführt.
Siehe auch superScriptBaseline(), setSubScriptBaseline(), subScriptBaseline(), setBaselineOffset() und baselineOffset().
[since 6.0] qreal QTextDocument::subScriptBaseline() const
Gibt die Grundlinie des hochgestellten Zeichens als Prozentsatz der im Dokumentlayout verwendeten Schrifthöhe zurück.
Diese Funktion wurde in Qt 6.0 eingeführt.
Siehe auch setSubScriptBaseline(), setSuperScriptBaseline(), superScriptBaseline(), setBaselineOffset() und baselineOffset().
[since 6.0] qreal QTextDocument::superScriptBaseline() const
Gibt die Grundlinie des hochgestellten Zeichens als Prozentsatz der im Dokumentlayout verwendeten Schrifthöhe zurück.
Diese Funktion wurde in Qt 6.0 eingeführt.
Siehe auch setSuperScriptBaseline(), setSubScriptBaseline(), subScriptBaseline(), setBaselineOffset() und baselineOffset().
QString QTextDocument::toHtml() const
Gibt eine Zeichenkette zurück, die eine HTML-Darstellung des Dokuments enthält.
Der Inhalt des Dokuments gibt an, dass es in UTF-8 kodiert ist. Wenn Sie die zurückgegebene HTML-Zeichenkette später zur Übertragung über ein Netzwerk oder zum Speichern auf Festplatte in ein Byte-Array konvertieren, sollten Sie die Funktion ` QString::toUtf8()` verwenden, um die Zeichenkette in ein ` QByteArray` zu konvertieren.
Siehe auch „Unterstützte HTML-Teilmenge“.
QString QTextDocument::toMarkdown(QTextDocument::MarkdownFeatures features = MarkdownDialectGitHub) const
Gibt eine Zeichenkette zurück, die eine Markdown-Darstellung des Dokuments mit dem angegebenen ` features` enthält, oder eine leere Zeichenkette, falls das Schreiben aus irgendeinem Grund fehlschlägt.
Siehe auch ` setMarkdown`.
QString QTextDocument::toPlainText() const
Gibt den im Dokument enthaltenen Klartext zurück. Wenn Sie Formatierungsinformationen benötigen, verwenden Sie stattdessen die Funktion „ QTextCursor “.
Diese Funktion liefert dasselbe Ergebnis wie ` toRawText()`, ersetzt jedoch einige Unicode-Zeichen durch ASCII-Entsprechungen. Insbesondere wird das Geschmackstrennzeichen (U+00A0) durch ein normales Leerzeichen (U+0020) ersetzt, und sowohl Absatztrennzeichen (U+2029) als auch Zeilentrennzeichen (U+2028) werden durch einen Zeilenvorschub (U+000A) ersetzt. Wenn Sie den genauen Inhalt des Dokuments benötigen, verwenden Sie stattdessen die Funktion „ toRawText()“.
Hinweis: Eingebettete Objekte, wie z. B. Bilder, werden durch den Unicode-Wert U+FFFC (OBJECT REPLACEMENT CHARACTER) dargestellt.
Siehe auch „ toHtml“ ().
QString QTextDocument::toRawText() const
Gibt den im Dokument enthaltenen Rohtext ohne Formatierungsinformationen zurück. Wenn Sie Formatierungsinformationen benötigen, verwenden Sie stattdessen „ QTextCursor “.
Siehe auch toPlainText().
void QTextDocument::undo(QTextCursor *cursor)
Macht den letzten Bearbeitungsvorgang im Dokument rückgängig, sofern die Rückgängig-Funktion verfügbar ist. Der übergebene ` cursor ` wird am Ende der Stelle positioniert, an der der Bearbeitungsvorgang rückgängig gemacht wurde.
Weitere Informationen finden Sie in der Dokumentation zum Qt-Undo-Framework.
Siehe auch „ undoAvailable()“ und „ isUndoRedoEnabled()“.
[slot] void QTextDocument::undo()
Hinweis: Dieser Slot ist überladen. So stellen Sie eine Verbindung zu diesem Slot her:
// Connect using qOverload:
connect(sender, &SenderClass::signal,
textDocument, qOverload<>(&QTextDocument::undo));
// Or using a lambda as wrapper:
connect(sender, &SenderClass::signal,
textDocument, [receiver = textDocument]() { receiver->undo(); });[signal] void QTextDocument::undoAvailable(bool available)
Dieses Signal wird immer dann ausgelöst, wenn Rückgängig-Operationen verfügbar sind (available ist wahr) oder nicht verfügbar sind (available ist falsch).
Weitere Informationen finden Sie in der Dokumentation zum Qt-Undo-Framework.
Siehe auch undo() und isUndoRedoEnabled().
[signal] void QTextDocument::undoCommandAdded()
Dieses Signal wird jedes Mal ausgelöst, wenn der „ QTextDocument “ eine neue Rückgängig-Ebene hinzugefügt wird.
© 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.