Sur cette page

QPlainTextDocumentLayout Class

La classe `QPlainTextDocumentLayout` implémente une mise en page de texte brut pour QTextDocument. En savoir plus...

En-tête : #include <QPlainTextDocumentLayout>
CMake : find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake : QT += widgets
Hérite de : 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 objet QPlainTextDocumentLayout est nécessaire pour les documents texte pouvant être affichés ou modifiés dans un 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, elle ne fonctionne pas sur la base de pixels verticaux, mais sur celle de paragraphes (appelés « blocs »). La hauteur d’un document correspond au nombre de paragraphes qu’il contient. La mise en page ne prend pas non plus en charge les tableaux ni les cadres imbriqués, ni aucune forme de mise en page avancée allant au-delà d’une liste de paragraphes avec mise en évidence de la syntaxe.

Documentation des propriétés

cursorWidth : int

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

Fonctions d'accès :

int cursorWidth() const
void setCursorWidth(int width)

Documentation sur les fonctions membres

QPlainTextDocumentLayout::QPlainTextDocumentLayout(QTextDocument *document)

Crée une mise en page de document en texte brut pour le texte document.

[virtual noexcept] QPlainTextDocumentLayout::~QPlainTextDocumentLayout()

Supprime la mise en page d'un document en 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émentation de : 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

Vérifie que la page block présente 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.