TextDocument QML 类型

围绕 TextEditQTextDocument 的包装。 更多...

导入语句import QtQuick
实例化 QQuickTextDocument
状态初步

此类型正在开发中,可能会有所变化。

属性

方法

  • void save() (初步)
  • void saveAs(url url) (初步)

详细描述

要将文本加载到文档中,设置 source 属性。如果用户随后修改文本并希望保存相同的文档,请调用 save() 以将其再次保存到同一源(仅当 它是本地文件 时)。或者调用 saveAs() 以将其保存到不同的文件。

此类无法在 QML 中实例化,但可以通过 TextEdit::textDocument 获取。

注意: 所有加载和保存现在都是同步进行的。如果 source 是慢速网络驱动器,这可能会阻塞 UI。这可能在 Qt 的未来版本中得到改进。

注意: 此 API 被视为技术预览,可能在 Qt 的未来版本中发生变化。

属性文档

errorString : string [只读,初步]

该属性正在开发中,可能会有所变化。

此属性包含描述在加载或保存期间发生的错误的可读字符串(如果有的话);否则,为空字符串。

此属性自 Qt 6.7 以来引入。

另请参阅 statussourcesave() 和 saveAs()。


modified : bool [初步]

该属性正在开发中,可能会有所变化。

此属性表示自上次加载或保存以来,文档是否已被用户修改。默认情况下,此属性为false

QTextDocument::modified类似,您可以设置修改属性:例如,将其设置为false以允许将source属性设置为不同的URL(从而丢弃用户更改)。

此属性自 Qt 6.7 以来引入。

另请参阅QTextDocument::modified


source : url [预览]

该属性正在开发中,可能会有所变化。

QQuickTextDocument可以处理Qt支持的任何文本格式,可以从中加载Qt支持的任何URL方案。

URL可以是绝对的,也可以相对于组件的URL。

当文档的modified状态为true时,无法更改source属性。如果用户已修改文档内容,您应该提示用户是否要保存(),否则在将源属性设置为不同URL之前,通过将modified = false设置为丢弃更改。

此属性自 Qt 6.7 以来引入。

另请参阅QTextDocumentWriter::supportedDocumentFormats


status : 枚举 [只读,预览]

该属性正在开发中,可能会有所变化。

此属性表示文档加载或保存的状态。它可以有以下之一

常量描述
TextDocument.Null没有加载文件
TextDocument.Loading开始从source读取
TextDocument.Loaded读取成功完成
TextDocument.Savingsave()或saveAs()之后开始文件写入
TextDocument.Saved写入成功完成
TextDocument.ReadErrorsource读取时发生错误
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 以来引入。

另请参阅errorStringsourcesavesaveAs


方法文档

[预览] void save()

该方法正在开发中,并可能发生变化。

将内容保存到source指定的相同文件和格式中。

注意:您只能保存在挂载文件系统中的文件中。

此方法从Qt 6.7引入。

另请参阅sourcesaveAs


[预览] void saveAs(url url)

该方法正在开发中,并可能发生变化。

将内容保存到url指定的文件和格式中。

url 中的文件扩展名指定了文件格式(由 QMimeDatabase::mimeTypeForUrl() 确定)。

注意:您只能保存在挂载文件系统中的文件中。

此方法从Qt 6.7引入。

另请参阅 sourcesave


© 2024 Qt 公司。此处包含的文档贡献属于各自所有者的版权。此处提供的文档是根据由自由软件基金会发布的 GNU 自由文档许可版本 1.3 的条款许可的。Qt 及其相应的标志是芬兰的 Qt 公司以及在全世界其他国家和地区的商标。所有其他商标均为各自所有者的财产。