QTextDocument Class
QTextDocument 클래스는 서식이 적용된 텍스트를 저장합니다. 더 보기...
| 헤더: | #include <QTextDocument> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
| qmake: | QT += gui |
| 상속: | QObject |
- 상속받은 멤버를 포함한 모든 멤버 목록
- QTextDocument는 리치 텍스트 처리 API의 일부입니다.
참고: 이 클래스의 모든 함수는 재진입 가능합니다.
공개 유형
| 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 } |
속성
|
|
공개 함수
| 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 |
공개 슬롯
| void | redo() |
| void | setModified(bool m = true) |
| void | undo() |
신호
| 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() |
정적 공용 멤버
(since 6.1) QTextDocument::ResourceProvider | defaultResourceProvider() |
(since 6.1) void | setDefaultResourceProvider(const QTextDocument::ResourceProvider &provider) |
보호된 함수
| virtual QTextObject * | createObject(const QTextFormat &format) |
| virtual QVariant | loadResource(int type, const QUrl &name) |
상세 설명
QTextDocument는 구조화된 리치 텍스트 문서를 담는 컨테이너로, 서식이 지정된 텍스트와 목록, 표, 프레임, 이미지 등 다양한 유형의 문서 요소를 지원합니다. 이 객체는 QTextEdit 에서 사용하기 위해 생성되거나 독립적으로 사용될 수 있습니다.
각 문서 요소는 관련 형식 객체에 의해 설명됩니다. 각 형식 객체는 QTextDocument에 의해 고유한 객체로 취급되며, objectForFormat()에 전달되어 해당 객체가 적용된 문서 요소를 얻을 수 있습니다.
QTextDocument는 QTextCursor 를 사용하여 프로그래밍 방식으로 편집할 수 있으며, 문서 구조를 탐색하여 그 내용을 확인할 수 있습니다. 전체 문서 구조는 루트 프레임 아래에 문서 요소들의 계층 구조로 저장되며, 이는 ` rootFrame()` 함수를 통해 찾을 수 있습니다. 또는 문서의 텍스트 내용만 반복 처리하려는 경우, ` begin()`, ` end()`, ` findBlock()`를 사용하여 검사하고 반복 처리할 수 있는 텍스트 블록을 가져올 수 있습니다.
문서의 레이아웃은 ` documentLayout()`에 의해 결정됩니다. 사용자 정의 레이아웃 로직을 사용하려면 ` QAbstractTextDocumentLayout `의 서브클래스를 직접 생성하고 ` setDocumentLayout()`를 통해 설정할 수 있습니다. 문서의 제목 및 기타 메타 정보는 metaInformation() 함수를 호출하여 얻을 수 있습니다. QTextEdit 클래스를 통해 사용자에게 노출되는 문서의 경우, QTextEdit::documentTitle() 함수를 통해서도 문서 제목을 확인할 수 있습니다.
toPlainText() 및 toHtml() 편의 함수를 사용하면 문서의 내용을 일반 텍스트 및 HTML 형식으로 가져올 수 있습니다. find() 함수를 사용하여 문서의 텍스트를 검색할 수 있습니다.
문서에 수행된 작업의 실행 취소/다시 실행은 setUndoRedoEnabled() 함수를 사용하여 제어할 수 있습니다. 실행 취소/다시 실행 시스템은 undo() 및 redo() 슬롯을 통해 편집기 위젯에서 제어할 수 있으며, 문서는 연결된 편집기 위젯에 실행 취소/다시 실행 시스템의 상태를 알리는 contentsChanged(), undoAvailable() 및 redoAvailable() 신호도 제공합니다. 다음은 QTextDocument의 실행 취소/다시 실행 작업입니다:
- 문자 삽입 또는 삭제. 동일한 텍스트 블록 내에서 이루어진 일련의 삽입 또는 삭제 작업은 하나의 실행 취소/다시 실행 작업으로 간주됩니다.
- 텍스트 블록의 삽입 또는 삭제. 단일 작업 내에서 이루어지는 일련의 삽입 또는 삭제(예: 텍스트를 선택한 후 삭제하는 경우)는 하나의 실행 취소/다시 실행 작업으로 간주됩니다.
- 텍스트 문자 서식 변경.
- 텍스트 블록 서식 변경.
- 텍스트 블록 그룹 서식 변경.
QTextCursor, QTextEdit 및 리치 텍스트 처리항목도 참조하십시오 .
멤버 유형 설명서
enum QTextDocument::FindFlag
flags QTextDocument::FindFlags
이 열거형은 QTextDocument 의 find 함수에서 사용할 수 있는 옵션을 설명합니다. 다음 목록에 있는 옵션들을 OR 연산으로 조합하여 사용할 수 있습니다:
| 상수 | 값 | 설명 |
|---|---|---|
QTextDocument::FindBackward | 0x00001 | 앞으로가 아닌 뒤로 검색합니다. |
QTextDocument::FindCaseSensitively | 0x00002 | 기본적으로 find는 대소문자를 구분하지 않습니다. 이 옵션을 지정하면 대소문자를 구분하는 검색으로 동작이 변경됩니다. |
QTextDocument::FindWholeWords | 0x00004 | 찾기 작업이 전체 단어만 일치하도록 합니다. |
FindFlags 유형은 QFlags<FindFlag>에 대한 typedef입니다. 이 유형은 FindFlag 값들의 OR 조합을 저장합니다.
enum QTextDocument::MarkdownFeature
flags QTextDocument::MarkdownFeatures
이 열거형은 마크다운을 읽거나 쓸 때 지원되는 기능 세트를 선택합니다.
| 상수 | 값 | 설명 |
|---|---|---|
QTextDocument::MarkdownNoHTML | 0x0020 | 0x0040 | 마크다운 텍스트 내의 모든 HTML 태그는 제거됩니다 |
QTextDocument::MarkdownDialectCommonMark | 0 | CommonMark에서 표준화된 기능만 지원됩니다 |
QTextDocument::MarkdownDialectGitHub | 0x0004 | 0x0008 | 0x0400 | 0x0100 | 0x0200 | 0x0800 | 0x4000 | 0x100000 | GitHub 방언의 대부분의 기능 |
구체적으로, GitHub 방언 중 지원되는 하위 집합에는 CommonMark의 모든 기능에 더해 다음이 포함됩니다:
- URL, www 및 이메일 주소를 인식하여 링크로 변환
- 취소선
- 밑줄 (이탤릭체와 구별됨; CommonMark에서는 동일함)
- 표
- 작업 목록
- front matter
"프론트 매터(Front matter)"는 대개 YAML 형식의 메타데이터입니다. Qt는 현재 이에 대한 파서를 포함하고 있지 않지만, 타사 파서를 선택하여 QTextDocument::metaInformation()를 호출해 전체 블록을 가져온 다음, Qt가 마크다운 파일을 파싱한 후에 사용자 정의 파서를 호출할 수 있습니다.
참고: toMarkdown()에서 출력되는마크다운은 현재 다른 열거형 값을 지정하여 비활성화하려고 해도 GitHub 기능이 포함될 수 있습니다. 이는 향후 Qt 버전에서 수정될 수 있습니다.
MarkdownFeatures 유형은 QFlags<MarkdownFeature>에 대한 typedef입니다. 이 유형은 MarkdownFeature 값들의 OR 조합을 저장합니다.
toMarkdown() 및 setMarkdown()도 참조하십시오 .
enum QTextDocument::MetaInformation
이 열거형은 문서에 추가할 수 있는 다양한 유형의 메타정보를 설명합니다.
| 상수 | 값 | 설명 |
|---|---|---|
QTextDocument::DocumentTitle | 0 | 문서의 제목입니다. |
QTextDocument::DocumentUrl | 1 | 문서의 URL입니다. loadResource() 함수는 상대 리소스를 로드할 때 이 URL을 기준으로 사용합니다. |
QTextDocument::CssMedia | 2 | 이 값은 setHtml()이 호출될 때 지정된 CSS 스타일시트에서 해당 '@media' 규칙(있는 경우)을 선택하는 데 사용됩니다. 이 열거형 값은 Qt 6.3에서 도입되었습니다. |
QTextDocument::FrontMatter | 3 | 이 값은 소스 파일(현재는 마크다운 형식에서만)을 파싱하는 동안 헤더 자료가 추출된 경우, 해당 자료를 선택하는 데 사용됩니다. 이 열거형 값은 Qt 6.8에서 도입되었습니다. |
metaInformation(), setMetaInformation(), setHtml()도 참조하십시오 .
[alias, since 6.1] QTextDocument::ResourceProvider
std::function<QVariant(const QUrl&)>에 대한 타입 별칭입니다.
이 typedef는 Qt 6.1에서 도입되었습니다.
enum QTextDocument::ResourceType
이 열거형은 QTextDocument 의 loadResource() 함수나 QTextBrowser::setSource()을 통해 불러올 수 있는 리소스의 유형을 설명합니다.
| 상수 | 상수명 | 상수값 |
|---|---|---|
QTextDocument::UnknownResource | 0 | 리소스가 로드되지 않았거나 리소스 유형을 알 수 없는 경우입니다. |
QTextDocument::HtmlResource | 1 | 리소스에 HTML이 포함되어 있습니다. |
QTextDocument::ImageResource | 2 | 리소스에 이미지 데이터가 포함되어 있습니다. 현재 지원되는 데이터 유형은 QMetaType::QPixmap 및 QMetaType::QImage 입니다. 해당 변형의 유형이 QMetaType::QByteArray 인 경우, Qt는 QImage::loadFromData 를 사용하여 이미지를 로드하려고 시도합니다. QMetaType::QIcon 는 현재 지원되지 않습니다. 아이콘은 먼저 QIcon::pixmap 등을 사용하여 지원되는 유형 중 하나로 변환해야 합니다. |
QTextDocument::StyleSheetResource | 3 | 리소스에 CSS가 포함되어 있습니다. |
QTextDocument::MarkdownResource | 4 | 리소스에 Markdown이 포함되어 있습니다. |
QTextDocument::UserResource | 100 | 사용자 정의 리소스 유형에 대해 사용할 수 있는 첫 번째 값입니다. |
loadResource() 및 QTextBrowser::sourceType()도 참조하십시오 .
enum QTextDocument::Stacks
| 상수 | 값 | 설명 |
|---|---|---|
QTextDocument::UndoStack | 0x01 | 되돌리기 스택. |
QTextDocument::RedoStack | 0x02 | 다시 실행 스택. |
QTextDocument::UndoAndRedoStacks | UndoStack | RedoStack | 실행 취소 및 다시 실행 스택 모두. |
속성 설명
baseUrl : QUrl
이 속성은 문서 내의 상대 리소스 URL을 해결하는 데 사용되는 기본 URL을 저장합니다.
리소스 URL은 기본 URL의 대상과 동일한 디렉터리 내에 있는 것으로 해결되므로, 마지막 '/' 이후의 경로 부분은 모두 무시됩니다.
| 기본 URL | 상대 URL | 해결된 URL |
|---|---|---|
| file:///path/to/content | images/logo.png | file:///이미지/경로/logo.png |
| file:///콘텐츠/경로/ | images/logo.png | file:///콘텐츠 경로/images/logo.png |
| file:///콘텐츠 경로/index.html | images/logo.png | file:///콘텐츠 경로/images/logo.png |
| file:///콘텐츠 경로/images/ | ../images/logo.png | file:///콘텐츠 경로/images/logo.png |
액세스 기능:
| QUrl | baseUrl() const |
| void | setBaseUrl(const QUrl &url) |
알림 신호:
| void | baseUrlChanged(const QUrl &url) |
[read-only] blockCount : int
이 속성은 문서에 포함된 텍스트 블록의 개수를 나타냅니다.
테이블이나 프레임이 포함된 문서에서는 이 속성의 값이 정의되지 않습니다.
기본적으로, 이 속성이 정의된 경우 값은 1입니다.
Access 함수:
| int | blockCount() const |
lineCount() 및 characterCount()도 참조하십시오 .
defaultFont : QFont
이 속성은 문서의 텍스트를 표시하는 데 사용되는 기본 글꼴을 지정합니다.
액세스 함수:
| QFont | defaultFont() const |
| void | setDefaultFont(const QFont &font) |
defaultStyleSheet : QString
기본 스타일시트는 setHtml()이나 QTextCursor::insertHtml() 등을 사용하여 문서에 새로 삽입되는 모든 HTML 형식의 텍스트에 적용됩니다.
이 스타일 시트는 CSS 2.1 구문을 준수해야 합니다.
참고: 기본 스타일시트를 변경해도 문서의 기존 내용에는 아무런 영향도 미치지 않습니다.
액세스 기능:
| QString | defaultStyleSheet() const |
| void | setDefaultStyleSheet(const QString &sheet) |
‘지원되는 HTML 하위 집합’항목도 참조하십시오 .
defaultTextOption : QTextOption
이 속성은 문서 내의 모든 ` QTextLayout`에 기본 텍스트 옵션이 설정되도록 합니다.
QTextBlock가 생성될 때, defaultTextOption은 해당 객체의 QTextLayout 에 설정됩니다. 이를 통해 기본 줄바꿈 모드와 같은 문서의 전역 속성을 설정할 수 있습니다.
액세스 함수:
| QTextOption | defaultTextOption() const |
| void | setDefaultTextOption(const QTextOption &option) |
documentMargin : qreal
문서 주변의 여백입니다. 기본값은 4입니다.
Access 함수:
| qreal | documentMargin() const |
| void | setDocumentMargin(qreal margin) |
indentWidth : qreal
텍스트 목록 및 텍스트 블록의 들여쓰기에 사용되는 너비를 반환합니다.
QTextListFormat 및 QTextBlockFormat 의 들여쓰기 속성은 이 값의 배수를 지정합니다. 기본 들여쓰기 너비는 40입니다.
액세스 함수:
| qreal | indentWidth() const |
| void | setIndentWidth(qreal width) |
[since 6.4] layoutEnabled : bool
이 속성은 ‘ QTextDocument ’가 변경 사항이 발생할 때마다 레이아웃을 재계산해야 하는지 여부를 결정합니다.
이 속성이 true로 설정되어 있으면 문서에 어떤 변경이 발생하더라도 레이아웃이 다시 계산되므로, 모든 것이 예상대로 작동하지만 시간이 소요됩니다.
레이아웃을 일시적으로 비활성화하면 여러 변경 사항(단순한 텍스트 내용뿐만 아니라 기본 글꼴, 기본 텍스트 옵션 등)을 적용할 때 시간을 절약할 수 있으며, 문서의 레이아웃은 마지막에 한 번만 재구성됩니다. 예를 들어, 텍스트 너비나 페이지 크기가 아직 알려지지 않은 경우에 유용할 수 있습니다.
기본적으로 이 속성의 값은 ` true`입니다.
이 열거형은 Qt 6.4에서 도입되었습니다.
액세스 함수:
| bool | isLayoutEnabled() const |
| void | setLayoutEnabled(bool b) |
setTextWidth도 참조하십시오 .
maximumBlockCount : int
문서 내 블록의 상한을 지정합니다.
문서에 포함될 수 있는 블록의 최대 개수를 지정합니다. 문서에 이 속성으로 지정된 개수보다 많은 블록이 있는 경우, 문서의 맨 앞에서 블록이 제거됩니다.
음수 또는 0 값을 지정하면 문서에 블록을 무제한으로 포함할 수 있습니다.
기본값은 0입니다.
이 속성을 설정하면 문서 내용에 제한이 즉시 적용된다는 점에 유의하십시오.
이 속성을 설정하면 실행 취소 및 다시 실행 기록도 비활성화됩니다.
이 속성은 테이블이나 프레임이 포함된 문서에서는 정의되지 않습니다.
액세스 함수:
| int | maximumBlockCount() const |
| void | setMaximumBlockCount(int maximum) |
modified : bool
이 속성은 문서가 사용자에 의해 수정되었는지 여부를 나타냅니다.
기본적으로 이 속성의 값은 ` false`입니다.
액세스 함수:
| bool | isModified() const |
| void | setModified(bool m = true) |
modificationChanged()도 참조하십시오 .
pageSize : QSizeF
이 속성은 문서 레이아웃에 사용해야 할 페이지 크기를 저장합니다.
단위는 기본 렌더링 장치에 따라 결정됩니다. 화면에 렌더링할 때는 논리 픽셀 단위로, 프린터에 렌더링할 때는 포인트(1/72인치) 단위로 크기가 측정됩니다.
기본적으로 새로 생성된 빈 문서의 경우, 이 속성에는 정의되지 않은 크기가 포함됩니다.
액세스 함수:
| QSizeF | pageSize() const |
| void | setPageSize(const QSizeF &size) |
modificationChanged()도 참조하십시오 .
[read-only] size : QSizeF
이 속성은 문서의 실제 크기를 저장합니다. 이는 ` documentLayout()->documentSize();`와 동일합니다.
문서의 크기는 텍스트 너비를 설정하거나 전체 페이지 크기를 설정하여 변경할 수 있습니다.
폭은 항상 pageSize() .width() 이상임을 유의하십시오.
기본적으로 새로 생성된 빈 문서의 경우, 이 속성에는 구성에 따라 결정된 크기가 포함됩니다.
액세스 함수:
| QSizeF | size() const |
setTextWidth(), setPageSize(), idealWidth()도 참조하십시오 .
textWidth : qreal
텍스트 너비는 문서 내 텍스트의 권장 너비를 지정합니다. 텍스트(또는 일반적인 콘텐츠)가 지정된 너비보다 넓을 경우, 여러 줄로 나뉘어 세로로 확장됩니다. 텍스트를 여러 줄로 나누어 지정된 텍스트 너비에 맞출 수 없는 경우, 텍스트 크기가 더 커지며, ` size()` 및 ` idealWidth()` 속성에 그 결과가 반영됩니다.
텍스트 너비가 -1로 설정된 경우, 명시적인 줄 바꿈이나 새 단락을 통해 강제로 나누지 않는 한 텍스트는 여러 줄로 나뉘지 않습니다.
기본값은 -1입니다.
텍스트 너비를 설정하면 페이지 높이도 -1로 설정되어 문서가 수직 방향으로 연속적으로 늘어나거나 줄어듭니다. 문서 레이아웃에서 텍스트를 여러 페이지로 나누고 싶다면 대신 pageSize 속성을 설정해야 합니다.
액세스 함수:
| qreal | textWidth() const |
| void | setTextWidth(qreal width) |
size(), idealWidth(), pageSize()도 참조하십시오 .
undoRedoEnabled : bool
이 속성은 해당 문서에서 실행 취소/다시 실행 기능이 활성화되어 있는지 여부를 나타냅니다.
기본값은 true입니다. 비활성화하면 실행 취소 스택이 지워지며, 더 이상 항목이 추가되지 않습니다.
액세스 함수:
| bool | isUndoRedoEnabled() const |
| void | setUndoRedoEnabled(bool enable) |
useDesignMetrics : bool
이 속성은 문서가 텍스트 레이아웃의 정확도를 높이기 위해 글꼴의 디자인 메트릭을 사용하는지 여부를 나타냅니다.
이 속성이 true로 설정되면 레이아웃은 디자인 메트릭을 사용합니다. 그렇지 않은 경우, QAbstractTextDocumentLayout::setPaintDevice()에서 설정된 페인트 장치의 메트릭이 사용됩니다.
디자인 메트릭을 사용하면 레이아웃의 너비가 더 이상 힌팅이나 픽셀 반올림에 의존하지 않게 됩니다. 즉, 너비가 다른 경우보다 페인트 장치 메트릭에 따라 훨씬 더 선형적으로 조정되므로 WYSIWYG 텍스트 레이아웃이 가능해집니다.
기본적으로 이 속성은 ` false`입니다.
액세스 함수:
| bool | useDesignMetrics() const |
| void | setUseDesignMetrics(bool b) |
멤버 함수 문서
[explicit] QTextDocument::QTextDocument(QObject *parent = nullptr)
지정된 ` parent`를 사용하여 빈 `QTextDocument`를 생성합니다.
[explicit] QTextDocument::QTextDocument(const QString &text, QObject *parent = nullptr)
지정된 서식이 없는( text ) 텍스트를 포함하고, 주어진 parent 를 적용한 QTextDocument 객체를 생성합니다.
[virtual noexcept] QTextDocument::~QTextDocument()
문서를 삭제합니다.
void QTextDocument::addResource(int type, const QUrl &name, const QVariant &resource)
type 및 name 을 식별자로 사용하여 리소스 resource 를 리소스 캐시에 추가합니다. type 는 QTextDocument::ResourceType 에 명시된 값 중 하나여야 합니다.
예를 들어, 문서 내에서 이미지를 참조하기 위해 이미지를 리소스로 추가할 수 있습니다:
document->addResource(QTextDocument::ImageResource,
QUrl("mydata://image.png"), QVariant(image));QTextCursor API를 사용하여 문서에 이미지를 삽입할 수 있습니다:
QTextImageFormat imageFormat;
imageFormat.setName("mydata://image.png");
cursor.insertImage(imageFormat);또는 HTML의 img 태그를 사용하여 이미지를 삽입할 수도 있습니다:
editor->append("<img src=\"mydata://image.png\" />");void QTextDocument::adjustSize()
문서를 적당한 크기로 조정합니다.
idealWidth(), textWidth 및 size도 참조하십시오 .
QList<QTextFormat> QTextDocument::allFormats() const
문서에서 사용되는 모든 형식에 대한 텍스트 형식 목록을 반환합니다.
int QTextDocument::availableRedoSteps() const
사용 가능한 재실행 단계의 개수를 반환합니다.
isRedoAvailable()도 참조하십시오 .
int QTextDocument::availableUndoSteps() const
사용 가능한 되돌리기 단계의 수를 반환합니다.
isUndoAvailable()도 참조하십시오 .
[since 6.0] qreal QTextDocument::baselineOffset() const
문서 레이아웃에 사용된 기준선 오프셋을 % 단위로 반환합니다.
이 함수는 Qt 6.0에서 도입되었습니다.
setBaselineOffset(), setSubScriptBaseline(), subScriptBaseline(), setSuperScriptBaseline() 및 superScriptBaseline()도 참조하십시오 .
QTextBlock QTextDocument::begin() const
문서의 첫 번째 텍스트 블록을 반환합니다.
firstBlock()도 참조하십시오 .
[signal] void QTextDocument::blockCountChanged(int newBlockCount)
이 신호는 문서의 텍스트 블록 총 개수가 변경될 때 발생합니다. ` newBlockCount `로 전달되는 값은 새로운 총 개수입니다.
QChar QTextDocument::characterAt(int pos) const
pos 위치에 있는 문자를 반환하며, 위치가 범위를 벗어난 경우에는 null 문자를 반환합니다.
characterCount()도 참조하십시오 .
int QTextDocument::characterCount() const
이 문서의 문자 수를 반환합니다.
참고: ` QTextDocument ` 객체에는 항상 적어도 하나의 ` QChar::ParagraphSeparator`가 포함되어있으므로 , 이 메서드는 최소 1을 반환합니다.
blockCount() 및 characterAt()도 참조하십시오 .
[virtual] void QTextDocument::clear()
문서를 지웁니다.
void QTextDocument::clearUndoRedoStacks(QTextDocument::Stacks stacksToClear = UndoAndRedoStacks)
stacksToClear 로 지정된 스택을 지웁니다.
이 메서드는 실행 취소 스택, 다시 실행 스택 또는 둘 다(기본값)에 있는 모든 명령을 지웁니다. 명령이 지워지면 QTextDocument::undoAvailable() 또는 QTextDocument::redoAvailable()와 같은 적절한 신호가 발생합니다.
QTextDocument::undoAvailable() 및 QTextDocument::redoAvailable()도 참조하십시오 .
QTextDocument *QTextDocument::clone(QObject *parent = nullptr) const
이 텍스트 문서의 복사본인 새로운 ` QTextDocument ` 객체를 생성합니다. ` parent `는 반환된 텍스트 문서의 상위 문서입니다.
[signal] void QTextDocument::contentsChange(int position, int charsRemoved, int charsAdded)
이 신호는 문서의 내용이 변경될 때마다 발생합니다. 예를 들어, 텍스트가 삽입되거나 삭제되거나 서식이 적용될 때 등이 있습니다.
변경이 발생한 문서 내 문자 위치( position ), 제거된 문자 수(charsRemoved), 추가된 문자 수(charsAdded)에 대한 정보가 제공됩니다.
이 신호는 문서의 레이아웃 관리자에게 변경 사항이 통보되기 전에 발생합니다. 이 훅을 사용하면 문서에 대한 구문 강조 기능을 구현할 수 있습니다.
QAbstractTextDocumentLayout::documentChanged() 및 contentsChanged()도 참조하십시오 .
[signal] void QTextDocument::contentsChanged()
이 신호는 문서의 내용이 변경될 때마다 발생합니다. 예를 들어, 텍스트를 삽입하거나 삭제할 때, 또는 서식을 적용할 때 등이 있습니다.
contentsChange()도 참조하십시오 .
[virtual protected] QTextObject *QTextDocument::createObject(const QTextFormat &format)
지정된 ` format`를 기반으로 새로운 문서 객체(` QTextObject`)를 생성하여 반환합니다.
QTextObject는 항상 이 메서드를 통해 생성되므로, 문서 내에서 사용자 정의 텍스트 객체를 사용하는 경우 이 메서드를 재구현해야 합니다.
[signal] void QTextDocument::cursorPositionChanged(const QTextCursor &cursor)
이 신호는 편집 작업으로 인해 커서의 위치가 변경될 때마다 발생합니다. 변경된 커서는 ` cursor`를 통해 전달됩니다. 문서를 ` QTextEdit ` 클래스와 함께 사용 중이며, 화살표 키로 커서를 이동할 때 신호를 수신해야 하는 경우, ` QTextEdit`의 ` cursorPositionChanged()` 신호를 사용할 수 있습니다.
Qt::CursorMoveStyle QTextDocument::defaultCursorMoveStyle() const
문서에서 생성된 모든 QTextCursor 객체는 기본 커서 이동 스타일을 사용합니다. 기본값은 Qt::LogicalMoveStyle 입니다.
setDefaultCursorMoveStyle()도 참조하십시오 .
QFont QTextDocument::defaultFont() const
문서 레이아웃에 사용될 기본 글꼴을 반환합니다.
참고: defaultFont 속성에 대한게터 함수입니다.
참조: ` setDefaultFont()` 함수.
[static, since 6.1] QTextDocument::ResourceProvider QTextDocument::defaultResourceProvider()
기본 리소스 제공자를 반환합니다.
이 함수는 Qt 6.1에서 도입되었습니다.
setDefaultResourceProvider(), resourceProvider() 및 loadResource()도 참조하십시오 .
QTextOption QTextDocument::defaultTextOption() const
기본 텍스트 옵션은 문서 내의 모든 ` QTextLayout ` 객체에 적용됩니다. 이를 통해 기본 줄바꿈 모드와 같은 문서의 전역 속성을 설정할 수 있습니다.
참고: defaultTextOption 속성에 대한게터 함수입니다.
참조: setDefaultTextOption().
QAbstractTextDocumentLayout *QTextDocument::documentLayout() const
이 문서의 레이아웃을 반환합니다.
setDocumentLayout()도 참조하십시오 .
[signal] void QTextDocument::documentLayoutChanged()
이 신호는 새로운 문서 레이아웃이 설정될 때 발생합니다.
setDocumentLayout()도 참조하십시오 .
void QTextDocument::drawContents(QPainter *p, const QRectF &rect = QRectF())
p 를 사용하여 문서의 내용을 그립니다. 이때 rect 에 따라 잘립니다. rect 가 null 사각형(기본값)인 경우, 문서는 잘림 없이 그려집니다.
QTextBlock QTextDocument::end() const
이 함수는 문서를 순회하면서 문서의 끝을 확인하기 위한 블록을 반환합니다.
for (QTextBlock it = doc->begin(); it != doc->end(); it = it.next())
std::cout << it.text().toStdString() << "\n";반환된 블록은 유효하지 않으며, 문서 내 마지막 블록 다음의 블록을 나타냅니다. lastBlock()를 사용하여 문서의 마지막 유효 블록을 가져올 수 있습니다.
lastBlock()도 참조하십시오 .
QTextCursor QTextDocument::find(const QRegularExpression &expr, const QTextCursor &cursor, QTextDocument::FindFlags options = FindFlags()) const
문서 내 동일한 단락에서 주어진 정규 표현식 expr 과 일치하는 다음 발생 위치를 찾습니다.
검색은 지정된 cursor 의 위치에서 시작되며, 검색 옵션에 달리 명시되지 않는 한 문서 전체를 앞으로 순서대로 탐색합니다. options 는 수행되는 검색 유형을 제어합니다.
일치 항목이 발견되면 일치 항목이 선택된 커서를 반환하고, 그렇지 않으면 null 커서를 반환합니다.
지정된 cursor 에 선택 영역이 있는 경우, 검색은 선택 영역 뒤에서 시작되며, 그렇지 않은 경우 커서 위치에서 시작됩니다.
기본적으로 검색은 대소문자를 구분하지 않으며, 문서 내 어디에서나 텍스트와 일치할 수 있습니다.
QTextCursor QTextDocument::find(const QRegularExpression &expr, int from = 0, QTextDocument::FindFlags options = FindFlags()) const
문서의 동일한 단락 내에서 주어진 정규 표현식 expr 과 일치하는 다음 발생 위치를 찾습니다.
검색은 지정된 from 위치에서 시작되며, 검색 옵션에 달리 명시되지 않는 한 문서 내에서 앞으로 진행됩니다. options 는 수행되는 검색 유형을 제어합니다.
일치하는 항목이 발견되면 일치 항목이 선택된 커서를 반환하고, 그렇지 않으면 null 커서를 반환합니다.
from 위치가 0(기본값)인 경우 검색은 문서의 시작 부분에서 시작되며, 그렇지 않은 경우 지정된 위치에서 시작됩니다.
경고: 역사적인이유로 , ` expr `에 설정된 대소문자 구분 옵션은 무시됩니다. 대신, 검색이 대소문자를 구분하는지 여부는 ` options `를 사용하여 결정됩니다.
QTextCursor QTextDocument::find(const QString &subString, const QTextCursor &cursor, QTextDocument::FindFlags options = FindFlags()) const
문서에서 “ subString ”라는 문자열이 다음으로 나타나는 위치를 찾습니다. 검색은 지정된 cursor 위치에서 시작되며, 검색 옵션에 달리 명시되지 않는 한 문서 전체를 앞으로 순서대로 검색합니다. options 는 수행되는 검색의 유형을 제어합니다.
subString 가 발견된 경우 일치하는 부분이 선택된 커서를 반환하고, 그렇지 않은 경우 null 커서를 반환합니다.
지정된 cursor 에 선택 영역이 있는 경우, 검색은 선택 영역 뒤에서 시작되며, 그렇지 않은 경우 커서 위치에서 시작됩니다.
기본적으로 검색은 대소문자를 구분하지 않으며, 문서 내 어디에나 있는 텍스트와 일치할 수 있습니다.
QTextCursor QTextDocument::find(const QString &subString, int position = 0, QTextDocument::FindFlags options = FindFlags()) const
문서에서 “ subString ”라는 문자열이 다음으로 나타나는 위치를 찾습니다. 검색은 지정된 “ position ” 위치에서 시작되며, 검색 옵션에 달리 명시되지 않는 한 문서 전체를 앞으로 순서대로 검색합니다. “ options ”는 수행되는 검색의 유형을 제어합니다.
subString 가 발견된 경우 일치하는 부분이 선택된 커서를 반환하고, 그렇지 않은 경우 null 커서를 반환합니다.
position 가 0(기본값)인 경우 검색은 문서의 시작 부분에서 시작되며, 그렇지 않은 경우 지정된 위치에서 시작됩니다.
이 함수는 오버로드된 함수입니다.
QTextBlock QTextDocument::findBlock(int pos) const
pos 번째 문자가 포함된 텍스트 블록을 반환합니다.
QTextBlock QTextDocument::findBlockByLineNumber(int lineNumber) const
지정된 lineNumber 를 포함하는 텍스트 블록을 반환합니다.
QTextBlock::firstLineNumber()도 참조하십시오 .
QTextBlock QTextDocument::findBlockByNumber(int blockNumber) const
지정된 blockNumber 을 가진 텍스트 블록을 반환합니다.
QTextBlock::blockNumber()도 참조하십시오 .
QTextBlock QTextDocument::firstBlock() const
문서의 첫 번째 텍스트 블록을 반환합니다.
qreal QTextDocument::idealWidth() const
텍스트 문서의 이상적인 너비를 반환합니다. 이상적인 너비는 선택적 정렬을 고려하지 않은 문서의 실제 사용 너비입니다. 이 값은 항상 size()의 width() 값 이하입니다.
adjustSize() 및 textWidth도 참조하십시오 .
bool QTextDocument::isEmpty() const
문서가 비어 있으면 ` true `를 반환하고, 그렇지 않으면 ` false`를 반환합니다.
bool QTextDocument::isRedoAvailable() const
redo가 사용 가능한 경우 ` true `를 반환하고, 그렇지 않은 경우 ` false`를 반환합니다.
isUndoAvailable() 및 availableRedoSteps()도 참조하십시오 .
bool QTextDocument::isUndoAvailable() const
undo가 사용 가능한 경우 true 를 반환하고, 그렇지 않은 경우 false 를 반환합니다.
isRedoAvailable() 및 availableUndoSteps()도 참조하십시오 .
QTextBlock QTextDocument::lastBlock() const
문서의 마지막 (유효한) 텍스트 블록을 반환합니다.
int QTextDocument::lineCount() const
이 문서의 줄 수를 반환합니다(레이아웃이 이를 지원하는 경우). 그렇지 않은 경우, 이는 블록 수와 동일합니다.
blockCount() 및 characterCount()도 참조하십시오 .
[virtual protected invokable] QVariant QTextDocument::loadResource(int type, const QUrl &name)
type 지정된 name 의 데이터를, 주어진 를 가진 리소스에서 불러옵니다.
이 함수는 리치 텍스트 엔진에 의해 호출되며, QTextDocument 에 직접 저장되지는 않았지만 여전히 이와 연관된 데이터를 요청합니다. 예를 들어, 이미지는 QTextImageFormat 객체의 name 속성을 통해 간접적으로 참조됩니다.
Qt XML에 의해 호출될 때, ` type `은 ` QTextDocument::ResourceType`의 값 중 하나입니다.
QTextDocument 가 QTextEdit, QTextBrowser 또는 QTextDocument 와 같이 호출 가능한 loadResource 메서드를 가진 QObject 의 자식 객체일 경우, 기본 구현은 부모 객체에서 데이터를 가져오려고 시도합니다.
참고: 이 함수는 메타 객체 시스템과 QML을 통해 호출할 수 있습니다. Q_INVOKABLE 를 참조하십시오.
QTextDocument::ResourceProvider도 참조하십시오 .
void QTextDocument::markContentsDirty(int position, int length)
지정된 position 및 length 에 명시된 내용을 “변경됨”으로 표시하여, 문서에 다시 레이아웃을 적용해야 함을 알립니다.
QString QTextDocument::metaInformation(QTextDocument::MetaInformation info) const
info 로 지정된 유형의 문서에 대한 메타 정보를 반환합니다.
setMetaInformation()도 참조하십시오 .
[signal] void QTextDocument::modificationChanged(bool changed)
이 신호는 문서의 내용이 수정 상태에 영향을 미치는 방식으로 변경될 때마다 발생합니다. ` changed `가 `true`이면 문서가 수정된 것이며, 그렇지 않으면 `false`입니다.
예를 들어, 문서에 대해 setModified(false)를 호출한 후 텍스트를 삽입하면 이 신호가 발생합니다. 해당 작업을 취소하여 문서가 수정되지 않은 원래 상태로 돌아가면, 이 신호가 다시 발생합니다.
QTextObject *QTextDocument::object(int objectIndex) const
지정된 ` objectIndex`와 연관된 텍스트 객체를 반환합니다.
QTextObject *QTextDocument::objectForFormat(const QTextFormat &f) const
f 형식과 연관된 텍스트 객체를 반환합니다.
int QTextDocument::pageCount() const
이 문서의 페이지 수를 반환합니다.
void QTextDocument::print(QPagedPaintDevice *printer) const
지정된 ` printer`로 문서를 출력합니다. 이 함수와 함께 사용하기 전에 ` QPagedPaintDevice `을 먼저 설정해야 합니다.
이 메서드는 문서 전체를 프린터로 출력하기 위한 편의 메서드일 뿐입니다.
pageSize() 속성을 통해 문서가 이미 지정된 높이로 페이지 분할된 경우, 문서는 있는 그대로 인쇄됩니다.
예를 들어 QTextEdit 에서 사용되는 문서와 같이 문서에 페이지 분할이 되어 있지 않은 경우, 문서의 임시 사본이 생성되고 이 사본은 페인트 장치의 paperRect() 크기에 따라 여러 페이지로 분할됩니다. 기본적으로 문서 내용 주위에 2cm의 여백이 설정됩니다. 또한 각 페이지 하단에는 현재 페이지 번호가 출력됩니다.
QTextEdit::print()도 참조하십시오 .
void QTextDocument::redo(QTextCursor *cursor)
redo is available 인 경우, 문서에 대한 마지막 편집 작업을 다시 실행합니다.
지정된 ` cursor `은 편집 작업이 다시 수행된 위치의 끝 부분에 위치하게 됩니다.
[slot] void QTextDocument::redo()
redo is available 인 경우, 문서에 대한 마지막 편집 작업을 다시 수행합니다.
참고: 이 슬롯은 오버로드되어 있습니다. 이 슬롯에 연결하려면:
// 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)
이 신호는 재실행(redo) 작업이 가능해졌을 때(`available `가 true인 경우) 또는 불가능해졌을 때(`available `가 false인 경우) 발생합니다.
QVariant QTextDocument::resource(int type, const QUrl &name) const
type 지정된 name 에 대한 데이터를, 주어진 를 가진 리소스에서 반환합니다.
이 함수는 리치 텍스트 엔진에 의해 호출되며, QTextDocument 에 직접 저장되지는 않았지만 여전히 이와 연관된 데이터를 요청하는 데 사용됩니다. 예를 들어, 이미지는 QTextImageFormat 객체의 name 속성을 통해 간접적으로 참조됩니다.
리소스는 문서 내에 내부적으로 캐시됩니다. 캐시에서 리소스를 찾을 수 없는 경우, loadResource 가 호출되어 리소스를 로드하려고 시도합니다. 이때 loadResource 는 addResource 를 사용하여 리소스를 캐시에 추가해야 합니다.
loadResource 가 리소스를 로드하지 못하면, resourceProvider 가 호출되고, 마지막으로 defaultResourceProvider 가 설정되어 있는 경우 해당 함수가 호출됩니다. 제공자(provider)의 결과가 캐시에 자동으로 추가되지는 않는다는 점에 유의하십시오.
QTextDocument::ResourceType 및 resourceProvider()도 참조하십시오 .
[since 6.1] QTextDocument::ResourceProvider QTextDocument::resourceProvider() const
이 텍스트 문서의 리소스 제공자를 반환합니다.
이 함수는 Qt 6.1에서 도입되었습니다.
setResourceProvider(), defaultResourceProvider(), loadResource()도 참조하십시오 .
int QTextDocument::revision() const
문서의 수정 내역을 반환합니다(실행 취소 기능이 활성화된 경우).
수정되지 않은 문서를 편집할 경우, 개정 번호는 반드시 증가합니다.
QTextBlock::revision() 및 isModified()도 참조하십시오 .
QTextFrame *QTextDocument::rootFrame() const
문서의 루트 프레임을 반환합니다.
[since 6.0] void QTextDocument::setBaselineOffset(qreal baseline)
문서 레이아웃에서 사용할 베이스라인을 글꼴 높이의 백분율(%)로 설정합니다( baseline). 기본값은 0입니다. 양수 값을 지정하면 텍스트가 해당 백분율만큼 위로 이동하고, 음수 값을 지정하면 아래로 이동합니다.
이 함수는 Qt 6.0에서 도입되었습니다.
baselineOffset(), setSubScriptBaseline(), subScriptBaseline(), setSuperScriptBaseline() 및 superScriptBaseline()도 참조하십시오 .
void QTextDocument::setDefaultCursorMoveStyle(Qt::CursorMoveStyle style)
기본 커서 이동 스타일을 지정된 style 로 설정합니다.
defaultCursorMoveStyle()도 참조하십시오 .
void QTextDocument::setDefaultFont(const QFont &font)
문서 레이아웃에서 사용할 기본 ` font `을 설정합니다.
참고: defaultFont 속성에 대한세터 함수입니다.
defaultFont()도 참조하십시오 .
[static, since 6.1] void QTextDocument::setDefaultResourceProvider(const QTextDocument::ResourceProvider &provider)
기본 리소스 제공자를 provider 로 설정합니다.
명시적으로 제공자가 설정되지 않은 모든 QTextDocument에서는 기본 제공자가 사용됩니다.
이 함수는 Qt 6.1에서 도입되었습니다.
defaultResourceProvider(), setResourceProvider() 및 loadResource()도 참조하십시오 .
void QTextDocument::setDefaultTextOption(const QTextOption &option)
기본 텍스트 옵션을 ‘ option ’로 설정합니다.
참고: ` defaultTextOption` 속성에 대한세터 함수입니다.
defaultTextOption()도 참조하십시오 .
void QTextDocument::setDocumentLayout(QAbstractTextDocumentLayout *layout)
지정된 layout 를 사용하도록 문서를 설정합니다. 이전 레이아웃은 삭제됩니다.
documentLayoutChanged()도 참조하십시오 .
void QTextDocument::setHtml(const QString &html)
문서의 전체 내용을 ‘ html ’ 문자열에 포함된 HTML 형식의 텍스트로 대체합니다. 이 함수가 호출되면 실행 취소/다시 실행 기록이 초기화됩니다.
HTML 서식은 가능한 한 그대로 유지됩니다. 예를 들어, "<b>bold</b> text"는 첫 번째 단어의 글꼴 두께가 굵게 표시되도록 처리된 "bold text"라는 텍스트를 생성합니다.
기본 "screen" 규칙 이외의 CSS 미디어 규칙을 선택하려면, "info" 매개변수로 'CssMedia'을 지정하여 setMetaInformation()을 사용하십시오.
참고: HTML이 포함된 QString 가 생성되어 setHtml()로 전달될 때, 텍스트가 올바르게 디코딩되도록 하는것은 호출자의책임입니다 .
setPlainText(), 지원되는 HTML 하위 집합 및 setMetaInformation()항목도 참조하십시오 .
void QTextDocument::setIndentWidth(qreal width)
텍스트 목록 및 텍스트 블록의 들여쓰기에 사용되는 width 값을 설정합니다.
QTextListFormat 및 QTextBlockFormat 의 들여쓰기 속성은 이 값의 배수로 지정됩니다. 기본 들여쓰기 너비는 40입니다.
참고: indentWidth 속성에 대한세터 함수입니다.
indentWidth()도 참조하십시오 .
void QTextDocument::setMarkdown(const QString &markdown, QTextDocument::MarkdownFeatures features = MarkdownDialectGitHub)
문서의 전체 내용을 ` markdown ` 문자열에 포함된 지정된 마크다운 형식 텍스트로 대체하며, 지정된 ` features `를 지원합니다. 기본적으로 지원되는 모든 GitHub 스타일 마크다운 기능이 포함됩니다. 보다 기본적인 구문 분석을 원할 경우 ` MarkdownDialectCommonMark `를 전달하세요.
마크다운 서식은 가능한 한 그대로 유지됩니다. 예를 들어, "*굵은* 텍스트"는 첫 번째 단어의 글꼴 두께를 조절하여 강조된 모양으로 표시됩니다.
markdown 문자열에 포함된 HTML의 구문 분석은 setHtml 에서와 동일한 방식으로 처리되지만, HTML 블록 내부의 마크다운 서식은 지원되지 않습니다.
features 인수를 통해 파서의 일부 기능을 활성화하거나 비활성화할 수 있습니다. 기본값은 MarkdownDialectGitHub 입니다.
이 함수가 호출되면 실행 취소/다시 실행 기록이 초기화됩니다.
void QTextDocument::setMetaInformation(QTextDocument::MetaInformation info, const QString &string)
info 로 지정된 유형의 문서 메타 정보를 주어진 string 로 설정합니다.
metaInformation()도 참조하십시오 .
void QTextDocument::setPlainText(const QString &text)
문서의 전체 내용을 지정된 일반 텍스트 text 로 대체합니다. 이 함수가 호출되면 실행 취소/다시 실행 기록이 초기화됩니다.
setHtml()도 참조하십시오 .
[since 6.1] void QTextDocument::setResourceProvider(const QTextDocument::ResourceProvider &provider)
텍스트 문서의 리소스 제공자를 provider 로 설정합니다.
이 함수는 Qt 6.1에서 도입되었습니다.
resourceProvider() 및 loadResource()도 참조하십시오 .
[since 6.0] void QTextDocument::setSubScriptBaseline(qreal baseline)
문서 레이아웃에서 사용할 기본 첨자의 기준선을 글꼴 높이의 백분율(%)로 설정합니다. 값은 ` baseline`입니다. 기본값은 16.67%(높이의 1/6)입니다.
이 함수는 Qt 6.0에서 도입되었습니다.
subScriptBaseline(), setSuperScriptBaseline(), superScriptBaseline(), setBaselineOffset(), baselineOffset()도 참조하십시오 .
[since 6.0] void QTextDocument::setSuperScriptBaseline(qreal baseline)
문서 레이아웃에서 사용할 기본 위첨자의 기준선을 글꼴 높이의 백분율(%)로 설정합니다. 설정 가능한 값은 baseline 입니다. 기본값은 50%(높이의 1/2)입니다.
이 함수는 Qt 6.0에서 도입되었습니다.
superScriptBaseline(), setSubScriptBaseline(), subScriptBaseline(), setBaselineOffset() 및 baselineOffset()도 참조하십시오 .
[since 6.0] qreal QTextDocument::subScriptBaseline() const
문서 레이아웃에 사용된 글꼴 높이에 대한 상첨자의 기준선의 비율을 % 단위로 반환합니다.
이 함수는 Qt 6.0에서 도입되었습니다.
setSubScriptBaseline(), setSuperScriptBaseline(), superScriptBaseline(), setBaselineOffset() 및 baselineOffset()도 참조하십시오 .
[since 6.0] qreal QTextDocument::superScriptBaseline() const
문서 레이아웃에 사용된 글꼴 높이에 대한 상첨자의 기준선의 비율을 백분율(%)로 반환합니다.
이 함수는 Qt 6.0에서 도입되었습니다.
setSuperScriptBaseline(), setSubScriptBaseline(), subScriptBaseline(), setBaselineOffset() 및 baselineOffset()도 참조하십시오 .
QString QTextDocument::toHtml() const
문서의 HTML 표현이 포함된 문자열을 반환합니다.
문서의 내용은 인코딩이 UTF-8임을 명시합니다. 나중에 반환된 HTML 문자열을 네트워크를 통해 전송하거나 디스크에 저장하기 위해 바이트 배열로 변환할 때는 ` QString::toUtf8()`를 사용하여 문자열을 ` QByteArray`로 변환해야 합니다.
‘지원되는 HTML 하위 집합’항목도 참조하십시오 .
QString QTextDocument::toMarkdown(QTextDocument::MarkdownFeatures features = MarkdownDialectGitHub) const
지정된 features 를 사용하여 문서의 마크다운 표현을 포함하는 문자열을 반환하거나, 어떤 이유로든 쓰기 작업에 실패한 경우에는 빈 문자열을 반환합니다.
setMarkdown도 참조하십시오 .
QString QTextDocument::toPlainText() const
문서에 포함된 일반 텍스트를 반환합니다. 서식 정보를 얻으려면 대신 ` QTextCursor `를 사용하십시오.
이 함수는 toRawText()과 동일한 결과를 반환하지만, 일부 유니코드 문자를 ASCII 대체 문자로 변환합니다. 특히, 비분리 공백(U+00A0)은 일반 공백(U+0020)으로 대체되며, 단락 구분자(U+2029)와 줄 구분자(U+2028)는 모두 줄 바꿈(U+000A)으로 대체됩니다. 문서의 정확한 내용을 필요로 하는 경우, 대신 toRawText()를 사용하십시오.
참고: 이미지와 같은내장 개체는 유니코드 값 U+FFFC(OBJECT REPLACEMENT CHARACTER)로 표시됩니다.
toHtml()도 참조하십시오 .
QString QTextDocument::toRawText() const
문서에 포함된 서식 정보 없이 원본 텍스트를 반환합니다. 서식 정보를 원한다면 대신 QTextCursor 를 사용하십시오.
toPlainText()도 참조하십시오 .
void QTextDocument::undo(QTextCursor *cursor)
되돌리기 기능이 지원되는 경우, 문서에 대한 마지막 편집 작업을 되돌립니다. 전달된 ` cursor ` 객체는 편집 작업이 되돌려진 위치의 끝부분에 위치하게 됩니다.
자세한 내용은 Qt Undo Framework 문서를 참조하십시오.
undoAvailable() 및 isUndoRedoEnabled()도 참조하십시오 .
[slot] void QTextDocument::undo()
참고: 이 슬롯은 오버로드되어 있습니다. 이 슬롯에 연결하려면:
// 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)
이 신호는 실행 취소 작업이 가능해졌을 때(available 가 true인 경우) 또는 불가능해졌을 때(available 가 false인 경우) 발송됩니다.
자세한 내용은 Qt Undo Framework 문서를 참조하십시오.
undo() 및 isUndoRedoEnabled()도 참조하십시오 .
[signal] void QTextDocument::undoCommandAdded()
이 신호는 ` QTextDocument`에 새로운 실행 취소 단계가 추가될 때마다 발생합니다.
© 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.