이 페이지에서

QPlainTextDocumentLayout Class

QPlainTextDocumentLayout 클래스는 QTextDocument 에 대한 일반 텍스트 레이아웃을 구현합니다. 더 보기...

헤더: #include <QPlainTextDocumentLayout>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
상속: QAbstractTextDocumentLayout

속성

공개 함수

QPlainTextDocumentLayout(QTextDocument *document)
virtual ~QPlainTextDocumentLayout()
int cursorWidth() const
void ensureBlockLayout(const QTextBlock &block) const
void requestUpdate()
void setCursorWidth(int width)

재구현된 공용 함수

virtual QRectF blockBoundingRect(const QTextBlock &block) const override
virtual QSizeF documentSize() const override
virtual void draw(QPainter *, const QAbstractTextDocumentLayout::PaintContext &) override
virtual QRectF frameBoundingRect(QTextFrame *) const override
virtual int hitTest(const QPointF &, Qt::HitTestAccuracy) const override
virtual int pageCount() const override

재구현된 보호 함수

virtual void documentChanged(int from, int charsRemoved, int charsAdded) override

상세 설명

QPlainTextEdit 에서 표시하거나 편집할 수 있는 텍스트 문서의 경우 QPlainTextDocumentLayout이 필요합니다. QTextDocument::setDocumentLayout()을 참조하십시오.

QPlainTextDocumentLayout은 QTextDocument 에서 요구하는 QAbstractTextDocumentLayout API를 사용하지만, 일반 텍스트를 더 잘 지원하기 위해 이를 부분적으로 재정의합니다. 예를 들어, 이 레이아웃은 세로 픽셀 단위가 아닌 단락(블록이라고 함)을 기준으로 작동합니다. 문서의 높이는 문서에 포함된 단락의 수와 동일합니다. 또한 이 레이아웃은 표나 중첩된 프레임, 또는 구문 강조 기능이 적용된 단락 목록을 넘어서는 모든 종류의 고급 텍스트 레이아웃을 지원하지 않습니다.

속성 문서

cursorWidth : int

이 속성은 커서의 너비를 픽셀 단위로 지정합니다. 기본값은 1입니다.

Access 함수:

int cursorWidth() const
void setCursorWidth(int width)

멤버 함수 설명서

QPlainTextDocumentLayout::QPlainTextDocumentLayout(QTextDocument *document)

document 라는 텍스트에 대한 일반 텍스트 문서 레이아웃을 생성합니다.

[virtual noexcept] QPlainTextDocumentLayout::~QPlainTextDocumentLayout()

일반 텍스트 문서의 레이아웃을 제거합니다.

[override virtual] QRectF QPlainTextDocumentLayout::blockBoundingRect(const QTextBlock &block) const

QAbstractTextDocumentLayout::blockBoundingRect(const QTextBlock &block) const를 재구현합니다.

[override virtual protected] void QPlainTextDocumentLayout::documentChanged(int from, int charsRemoved, int charsAdded)

QAbstractTextDocumentLayout::documentChanged(int position, int charsRemoved, int charsAdded)를 재구현합니다.

[override virtual] QSizeF QPlainTextDocumentLayout::documentSize() const

QAbstractTextDocumentLayout::documentSize() const를 재구현합니다.

[override virtual] void QPlainTextDocumentLayout::draw(QPainter *, const QAbstractTextDocumentLayout::PaintContext &)

QAbstractTextDocumentLayout::draw(QPainter *painter, const QAbstractTextDocumentLayout::PaintContext &context)를 재구현합니다.

void QPlainTextDocumentLayout::ensureBlockLayout(const QTextBlock &block) const

block 에 유효한 레이아웃이 적용되도록 보장합니다.

[override virtual] QRectF QPlainTextDocumentLayout::frameBoundingRect(QTextFrame *) const

QAbstractTextDocumentLayout::frameBoundingRect(QTextFrame *frame) const를 재구현합니다.

[override virtual] int QPlainTextDocumentLayout::hitTest(const QPointF &, Qt::HitTestAccuracy) const

QAbstractTextDocumentLayout::hitTest(const QPointF &point, Qt::HitTestAccuracy accuracy) const를 재구현합니다.

[override virtual] int QPlainTextDocumentLayout::pageCount() const

QAbstractTextDocumentLayout::pageCount() const를 재구현합니다.

void QPlainTextDocumentLayout::requestUpdate()

모든 뷰에 대한 전체 업데이트를 요청합니다.

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