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 属于富文本处理 API 的一部分。
属性
- cursorWidth : int
公共函数
| 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.