このページでは

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.