TextDocument QML Type

Ein Wrapper um TextEdit's Unterstützung QTextDocument. Mehr...

Import Statement: import QtQuick
In C++: QQuickTextDocument
Status: Preliminary

Dieser Typ befindet sich in der Entwicklung und kann sich noch ändern.

Eigenschaften

Methoden

  • void save() (preliminary)
  • void saveAs(url url) (preliminary)

Ausführliche Beschreibung

Um Text in das Dokument zu laden, setzen Sie die Eigenschaft source. Wenn der Benutzer dann den Text ändert und das gleiche Dokument speichern möchte, rufen Sie save() auf, um ihn erneut in derselben Quelle zu speichern (nur wenn it's a local file). Oder rufen Sie saveAs() auf, um es in einer anderen Datei zu speichern.

Diese Klasse kann nicht in QML instanziiert werden, ist aber über TextEdit::textDocument verfügbar.

Hinweis: Alle Lade- und Speichervorgänge werden derzeit synchron durchgeführt. Dies kann die Benutzeroberfläche blockieren, wenn source ein langsames Netzlaufwerk ist. Dies kann in zukünftigen Versionen von Qt verbessert werden.

Hinweis: Diese API wird als technische Vorschau betrachtet und kann sich in zukünftigen Versionen von Qt ändern.

Dokumentation der Eigenschaft

errorString : string [read-only, preliminary]

Diese Eigenschaft befindet sich in der Entwicklung und kann sich noch ändern.

Diese Eigenschaft enthält eine menschenlesbare Zeichenkette, die den Fehler beschreibt, der während des Ladens oder Speicherns aufgetreten ist; andernfalls ist es eine leere Zeichenkette.

Diese Eigenschaft wurde in Qt 6.7 eingeführt.

Siehe auch status, source, save(), und saveAs().


modified : bool [preliminary]

Diese Eigenschaft befindet sich in der Entwicklung und kann sich noch ändern.

Diese Eigenschaft gibt an, ob das Dokument seit dem letzten Laden oder Speichern vom Benutzer geändert wurde. Standardmäßig ist diese Eigenschaft auf false eingestellt.

Wie bei QTextDocument::modified können Sie die Eigenschaft modified einstellen: Setzen Sie sie z.B. auf false, um die Eigenschaft source auf eine andere URL zu setzen (und damit die Änderungen des Benutzers zu verwerfen).

Diese Eigenschaft wurde in Qt 6.7 eingeführt.

Siehe auch QTextDocument::modified.


source : url [preliminary]

Diese Eigenschaft befindet sich in der Entwicklung und kann sich noch ändern.

QQuickTextDocument kann jedes von Qt unterstützte Textformat verarbeiten, das von jedem von Qt unterstützten URL-Schema geladen wird.

Die URL kann absolut oder relativ zur URL der Komponente sein.

Die Eigenschaft source kann nicht geändert werden, solange sich das Dokument modified im Zustand true befindet. Wenn der Benutzer den Inhalt des Dokuments geändert hat, sollten Sie den Benutzer fragen, ob er save() oder die Änderungen verwerfen soll, indem Sie modified = false setzen, bevor Sie die Quelleigenschaft auf eine andere URL setzen.

Diese Eigenschaft wurde in Qt 6.7 eingeführt.

Siehe auch QTextDocumentWriter::supportedDocumentFormats().


status : enumeration [read-only, preliminary]

Diese Eigenschaft befindet sich in der Entwicklung und kann geändert werden.

Diese Eigenschaft enthält den Status des Ladens oder Speicherns des Dokuments. Sie kann eine der folgenden sein:

KonstanteBeschreibung
TextDocument.NullEs wurde noch keine Datei geladen
TextDocument.LoadingDas Lesen von source hat begonnen
TextDocument.LoadedDas Lesen wurde erfolgreich beendet
TextDocument.SavingDas Schreiben der Datei hat nach save() oder saveAs() begonnen
TextDocument.SavedDas Schreiben wurde erfolgreich beendet
TextDocument.ReadErrorEs ist ein Fehler beim Lesen von source
TextDocument.WriteErrorIn save() oder saveAs() ist ein Fehler aufgetreten
TextDocument.NonLocalFileErrorsaveAs() wurde mit einer URL aufgerufen, die auf eine entfernte Ressource und nicht auf eine lokale Datei verweist

Verwenden Sie diesen Status, um eine Aktualisierung vorzunehmen oder in irgendeiner Weise auf die Statusänderung zu reagieren. Zum Beispiel könnten Sie:

  • Eine Zustandsänderung auslösen:
    State {
        name: 'loaded'
        when: textEdit.textDocument.status == textEdit.textDocument.Loaded
    }
  • Implementieren Sie einen onStatusChanged Signalhandler:
    TextEdit {
        onStatusChanged: {
            if (textDocument.status === textDocument.Loaded)
                console.log('Loaded')
        }
    }
  • Bindung an den Statuswert:
    TextEdit {
        id: edit
        width: 300
        height: 200
        textFormat: TextEdit.MarkdownText
        textDocument.source: "example.md"
        wrapMode: TextEdit.WordWrap
    
        Text {
            anchors {
                bottom: parent.bottom
                right: parent.right
            }
            color: edit.textDocument.status === TextDocument.Loaded ? "darkolivegreen" : "tomato"
            text:
                switch (edit.textDocument.status) {
                case TextDocument.Loading:
                    return qsTr("Loading ") + edit.textDocument.source
                case TextDocument.Loaded:
                    return qsTr("Loaded ") + edit.textDocument.source
                default:
                    return edit.textDocument.errorString
                }
        }
    }

Diese Eigenschaft wurde in Qt 6.7 eingeführt.

Siehe auch errorString, source, save(), und saveAs().


Dokumentation der Methode

[preliminary] void save()

Diese Methode befindet sich in der Entwicklung und kann noch geändert werden.

Speichert den Inhalt in der gleichen Datei und dem gleichen Format, die unter source angegeben sind.

Hinweis: Sie können nur in eine file on a mounted filesystem speichern.

Diese Methode wurde in Qt 6.7 eingeführt.

Siehe auch source und saveAs().


[preliminary] void saveAs(url url)

Diese Methode befindet sich in der Entwicklung und kann sich noch ändern.

Speichert den Inhalt in der Datei und dem Format, die durch url angegeben werden.

Die Dateierweiterung in url gibt das Dateiformat an (wie durch QMimeDatabase::mimeTypeForUrl() bestimmt).

Hinweis: Sie können nur in eine file on a mounted filesystem speichern.

Diese Methode wurde in Qt 6.7 eingeführt.

Siehe auch source und save().


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