TextDocument QML Type

TextEdit のバックのラッパーQTextDocumentさらに...

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

この型は開発中であり、変更される可能性がある。

プロパティ

方法

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

詳細説明

ドキュメントにテキストをロードするには、source プロパティを設定します。その後、ユーザがテキストを変更し、同じドキュメントを保存したい場合は、save() を呼び出して、同じソースに再度保存します (it's a local file の場合のみ)。または、saveAs() を呼び出して、別のファイルに保存します。

このクラスはQMLの中でインスタンス化することはできませんが、TextEdit::textDocument から利用することができます。

注意: 今のところ、読み込みと保存はすべて同期的に行われます。このため、source が低速なネットワークドライブの場合、UIがブロックされる可能性があります。これは Qt の将来のバージョンで改善されるかもしれません。

注意: この API は技術プレビューであり、Qt の将来のバージョンで変更される可能性があります。

プロパティのドキュメント

errorString : string [read-only, preliminary]

このプロパティは開発中であり、変更される可能性があります。

このプロパティは、読み込み中または保存中に発生したエラーを説明する、人間が読める文字列を保持します。

このプロパティは Qt 6.7 で導入されました。

status,source,save(),saveAs()も参照してください


modified : bool [preliminary]

このプロパティは開発中であり、変更される可能性があります。

このプロパティは、ドキュメントが最後にロードまたは保存されたときから、ユーザーによって変更されたかどうかを保持します。デフォルトでは、このプロパティはfalse です。

QTextDocument::modified と同様に、modified プロパティを設定することができます。例えば、false に設定すると、source プロパティを別の URL に設定することができます(したがって、ユーザーの変更は破棄されます)。

このプロパティは Qt 6.7 で導入されました。

QTextDocument::modifiedも参照してください


source : url [preliminary]

このプロパティは開発中であり、変更される可能性があります。

QQuickTextDocument は、Qt がサポートする URL スキームからロードされた、Qt がサポートするあらゆるテキスト形式を扱うことができます。

URL は、絶対 URL でも、コンポーネントの URL からの相対 URL でもかまいません。

ドキュメントのmodified の状態がtrue の間は、source プロパティを変更することはできません。ユーザーがドキュメントの内容を変更した場合は、save() をユーザーに促すか、または source プロパティを別の URL に設定する前にmodified = false を設定して変更を破棄する必要があります。

このプロパティは Qt 6.7 で導入されました。

QTextDocumentWriter::supportedDocumentFormats()も参照してください


status : enumeration [read-only, preliminary]

このプロパティは開発中であり、変更される可能性があります。

このプロパティは、ドキュメントの読み込みまたは保存の状態を保持します。以下のいずれかになります:

定数説明
TextDocument.Nullファイルが読み込まれていない
TextDocument.Loadingsource からの読み込みが開始された
TextDocument.Loaded読み込みが正常に終了した
TextDocument.Savingsave() またはsaveAs() の後にファイルの書き込みが開始された。
TextDocument.Saved書き込みが正常に終了しました
TextDocument.ReadErrorからの読み込み中にエラーが発生しました。source
TextDocument.WriteErrorsave() またはsaveAs() でエラーが発生しました。
TextDocument.NonLocalFileErrorsaveAs() が、ローカル・ファイルではなくリモート・リソースを指す URL で呼び出された。

このステータスを使用して、最新情報を提供したり、何らかの方法でステータスの変更に応答したりします。たとえば、次のようなことができます:

  • 状態変更をトリガする:
    State {
        name: 'loaded'
        when: textEdit.textDocument.status == textEdit.textDocument.Loaded
    }
  • onStatusChanged シグナルハンドラを実装する:
    TextEdit {
        onStatusChanged: {
            if (textDocument.status === textDocument.Loaded)
                console.log('Loaded')
        }
    }
  • ステータス値にバインドする:
    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
                }
        }
    }

このプロパティは Qt 6.7 で導入されました。

errorString,source,save(),saveAs()も参照してください


メソッド・ドキュメント

[preliminary] void save()

この方法は開発中であり、変更される可能性がある。

source で指定されたのと同じファイルおよびフォーマットに内容を保存する。

注意: file on a mounted filesystem にのみ保存できます。

このメソッドは Qt 6.7 で導入されました。

source およびsaveAs()も参照してください


[preliminary] void saveAs(url url)

この方法は開発中であり、変更される可能性がある。

url で指定されたファイルとフォーマットにコンテンツを保存する。

url のファイル拡張子は、ファイル形式を指定します(QMimeDatabase::mimeTypeForUrl() によって決定されます)。

注意: file on a mounted filesystem にのみ保存できます。

このメソッドは Qt 6.7 で導入されました。

source および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.