本页内容

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.