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 와 마찬가지로 수정된 속성을 설정할 수 있습니다. 예를 들어 false 로 설정하면 source 속성을 다른 URL로 설정할 수 있습니다(따라서 사용자가 변경한 내용이 삭제됨).

이 속성은 Qt 6.7에 도입되었습니다.

QTextDocument::modified참조하세요 .


source : url [preliminary]

이 속성은 개발 중이며 변경될 수 있습니다.

QQuickTextDocument Qt에서 지원하는 모든 텍스트 형식을 처리할 수 있으며, Qt에서 지원하는 모든 URL 체계에서 로드됩니다.

URL은 절대적이거나 컴포넌트의 URL에 상대적일 수 있습니다.

source 속성은 문서의 modified 상태가 true 인 동안에는 변경할 수 없습니다. 사용자가 문서 내용을 수정한 경우 사용자에게 save() 또는 modified = false 을 설정하여 변경 사항을 취소할지 여부를 묻는 메시지를 표시한 후 소스 속성을 다른 URL로 설정해야 합니다.

이 속성은 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에 도입되었습니다.

sourcesaveAs()도 참조하세요 .


[preliminary] void saveAs(url url)

이 방법은 개발 중이며 변경될 수 있습니다.

url 에서 지정한 파일 및 형식으로 콘텐츠를 저장합니다.

url 의 파일 확장자는 파일 형식을 지정합니다( QMimeDatabase::mimeTypeForUrl()에 의해 결정됨).

참고: file on a mounted filesystem 에만 저장할 수 있습니다.

이 메서드는 Qt 6.7에 도입되었습니다.

sourcesave()도 참조하십시오 .


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