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 是富文本处理 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。
访问函数:
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.