- Qt 5.15
- Qt Widgets
- C++ Classes
- QPlainTextDocumentLayout
- Qt 5.15.18 Reference Documentation

# QPlainTextDocumentLayout Class

The QPlainTextDocumentLayout class implements a plain text layout for QTextDocument. More...

Header: | #include <QPlainTextDocumentLayout>
qmake: | QT += widgets
Since: | Qt 4.4

This class was introduced in Qt 4.4.

- List of all members, including inherited members

## Properties

- cursorWidth : int

## Public Functions

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

## Reimplemented Public Functions

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

## Reimplemented Protected Functions

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

## Detailed Description

A QPlainTextDocumentLayout is required for text documents that can be display or edited in a QPlainTextEdit. See QTextDocument::setDocumentLayout().

QPlainTextDocumentLayout uses the QAbstractTextDocumentLayout API that QTextDocument requires, but redefines it partially in order to support plain text better. For instances, it does not operate on vertical pixels, but on paragraphs (called blocks) instead. The height of a document is identical to the number of paragraphs it contains. The layout also doesn't support tables or nested frames, or any sort of advanced text layout that goes beyond a list of paragraphs with syntax highlighting.

## Property Documentation

### cursorWidth : int

This property specifies the width of the cursor in pixels. The default value is 1.

Access functions:

int | cursorWidth() const
void | setCursorWidth(int width)

## Member Function Documentation

### QPlainTextDocumentLayout::QPlainTextDocumentLayout(QTextDocument *document)

Constructs a plain text document layout for the text document.

### `[virtual]` QPlainTextDocumentLayout::~QPlainTextDocumentLayout()

Destructs a plain text document layout.

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

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

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

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

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

Ensures that block has a valid layout

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

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

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

### void QPlainTextDocumentLayout::requestUpdate()

Requests a complete update on all views.