QPlainTextDocumentLayout Class

QPlainTextDocumentLayout 类为QTextDocument 实现了纯文本布局。更多

Header: #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。

访问函数:

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()

要求全面更新所有视图。

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