Sur cette page

QPlainTextDocumentLayout Class

La classe QPlainTextDocumentLayout implémente une mise en page de texte brut pour QTextDocument. Plus...

En-tête : #include <QPlainTextDocumentLayout>
CMake : find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake : QT += widgets
Héritages : QAbstractTextDocumentLayout

Propriétés

Fonctions publiques

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

Fonctions publiques réimplémentées

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

Fonctions protégées réimplémentées

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

Description détaillée

Un QPlainTextDocumentLayout est nécessaire pour les documents textuels qui peuvent être affichés ou édités sur un site QPlainTextEdit. Voir QTextDocument::setDocumentLayout().

QPlainTextDocumentLayout utilise l'API QAbstractTextDocumentLayout requise par QTextDocument, mais la redéfinit partiellement afin de mieux prendre en charge le texte brut. Par exemple, il n'opère pas sur les pixels verticaux, mais sur les paragraphes (appelés blocs). La hauteur d'un document est identique au nombre de paragraphes qu'il contient. La mise en page ne prend pas non plus en charge les tableaux ou les cadres imbriqués, ni aucune sorte de mise en page de texte avancée allant au-delà d'une liste de paragraphes avec mise en évidence de la syntaxe.

Documentation sur les propriétés

cursorWidth : int

Cette propriété spécifie la largeur du curseur en pixels. La valeur par défaut est 1.

Fonctions d'accès :

int cursorWidth() const
void setCursorWidth(int width)

Fonction membre Documentation

QPlainTextDocumentLayout::QPlainTextDocumentLayout(QTextDocument *document)

Construit une mise en page de texte brut pour le texte document.

[virtual noexcept] QPlainTextDocumentLayout::~QPlainTextDocumentLayout()

Détruit la mise en page d'un document de texte brut.

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

Réimplémente : QAbstractTextDocumentLayout::blockBoundingRect(const QTextBlock &block) const.

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

Réimplémente : QAbstractTextDocumentLayout::documentChanged(int position, int charsRemoved, int charsAdded).

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

Réimplémente : QAbstractTextDocumentLayout::documentSize() const.

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

Réimplémente : QAbstractTextDocumentLayout::draw(QPainter *painter, const QAbstractTextDocumentLayout::PaintContext &context).

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

Veille à ce que block ait une mise en page valide

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

Réimplémente : QAbstractTextDocumentLayout::frameBoundingRect(QTextFrame *frame) const.

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

Réimplémente : QAbstractTextDocumentLayout::hitTest(const QPointF &point, Qt::HitTestAccuracy accuracy) const.

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

Réimplémente : QAbstractTextDocumentLayout::pageCount() const.

void QPlainTextDocumentLayout::requestUpdate()

Demande une mise à jour complète de tous les points de vue.

© 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.