Auf dieser Seite

QPlainTextDocumentLayout Class

Die Klasse „QPlainTextDocumentLayout“ implementiert ein Layout für einfachen Text für „ QTextDocument “. Mehr...

Kopfzeile: #include <QPlainTextDocumentLayout>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
Erbt von: QAbstractTextDocumentLayout

Eigenschaften

Öffentliche Funktionen

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

Neu implementierte öffentliche Funktionen

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

Neu implementierte geschützte Funktionen

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

Ausführliche Beschreibung

Für Textdokumente, die in einem „ QPlainTextEdit “ angezeigt oder bearbeitet werden können, ist ein „QPlainTextDocumentLayout“ erforderlich. Siehe QTextDocument::setDocumentLayout().

QPlainTextDocumentLayout nutzt die von QTextDocument benötigte QAbstractTextDocumentLayout -API, definiert diese jedoch teilweise neu, um einfachen Text besser zu unterstützen. So arbeitet es beispielsweise nicht mit vertikalen Pixeln, sondern stattdessen mit Absätzen (sogenannten Blöcken). Die Höhe eines Dokuments entspricht der Anzahl der darin enthaltenen Absätze. Das Layout unterstützt zudem keine Tabellen oder verschachtelten Rahmen sowie keinerlei fortgeschrittene Textlayouts, die über eine Liste von Absätzen mit Syntaxhervorhebung hinausgehen.

Dokumentation zu den Eigenschaften

cursorWidth : int

Diese Eigenschaft legt die Breite des Cursors in Pixeln fest. Der Standardwert ist 1.

Zugriffsfunktionen:

int cursorWidth() const
void setCursorWidth(int width)

Dokumentation zu den Member-Funktionen

QPlainTextDocumentLayout::QPlainTextDocumentLayout(QTextDocument *document)

Erstellt ein Layout für ein Klartextdokument mit dem Text „ document “.

[virtual noexcept] QPlainTextDocumentLayout::~QPlainTextDocumentLayout()

Löst das Layout eines Klartext-Dokuments auf.

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

Implementiert neu: ` QAbstractTextDocumentLayout::blockBoundingRect(const QTextBlock &block) const`.

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

Implementiert: ` QAbstractTextDocumentLayout::documentChanged` (int position, int charsRemoved, int charsAdded).

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

Implementiert: ` QAbstractTextDocumentLayout::documentSize()` const.

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

Implementiert: ` QAbstractTextDocumentLayout::draw` (`QPainter *painter, const QAbstractTextDocumentLayout::PaintContext &context`).

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

Stellt sicher, dass block ein gültiges Layout aufweist

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

Implementiert: ` QAbstractTextDocumentLayout::frameBoundingRect(QTextFrame *frame) const`.

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

Implementiert neu: ` QAbstractTextDocumentLayout::hitTest` (const QPointF &point, Qt::HitTestAccuracy accuracy) const.

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

Implementiert: ` QAbstractTextDocumentLayout::pageCount()` const.

void QPlainTextDocumentLayout::requestUpdate()

Fordert eine vollständige Aktualisierung aller Ansichten an.

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