QPlainTextDocumentLayout Class

Die Klasse QPlainTextDocumentLayout implementiert ein Klartextlayout für QTextDocument. Mehr...

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

Eigenschaften

Öffentliche Funktionen

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

Reimplementierte ö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

Reimplementierte geschützte Funktionen

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

Detaillierte Beschreibung

Ein QPlainTextDocumentLayout wird für Textdokumente benötigt, die in einer QPlainTextEdit angezeigt oder bearbeitet werden können. Siehe QTextDocument::setDocumentLayout().

QPlainTextDocumentLayout verwendet die QAbstractTextDocumentLayout API, die QTextDocument benötigt, definiert sie aber teilweise neu, um Klartext besser zu unterstützen. Zum Beispiel arbeitet es nicht mit vertikalen Pixeln, sondern mit Absätzen (Blöcken genannt). Die Höhe eines Dokuments ist identisch mit der Anzahl der Absätze, die es enthält. Das Layout unterstützt auch keine Tabellen oder verschachtelte Rahmen oder irgendeine Art von erweitertem Textlayout, das über eine Liste von Absätzen mit Syntaxhervorhebung hinausgeht.

Eigenschaft Dokumentation

cursorWidth : int

Diese Eigenschaft gibt die Breite des Cursors in Pixeln an. Der Standardwert ist 1.

Zugriffsfunktionen:

int cursorWidth() const
void setCursorWidth(int width)

Dokumentation der Mitgliedsfunktionen

QPlainTextDocumentLayout::QPlainTextDocumentLayout(QTextDocument *document)

Konstruiert ein reines Textdokument-Layout für den Text document.

[virtual noexcept] QPlainTextDocumentLayout::~QPlainTextDocumentLayout()

Zerstört ein reines Textdokument-Layout.

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

Reimplements: QAbstractTextDocumentLayout::blockBoundingRect(const QTextBlock &block) const.

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

Reimplements: QAbstractTextDocumentLayout::documentChanged(int position, int charsRemoved, int charsAdded).

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

Reimplements: QAbstractTextDocumentLayout::documentSize() const.

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

Reimplements: QAbstractTextDocumentLayout::draw(QPainter *Painter, const QAbstractTextDocumentLayout::PaintContext &context).

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

Stellt sicher, dass block ein gültiges Layout hat

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

Reimplements: QAbstractTextDocumentLayout::frameBoundingRect(QTextFrame *frame) const.

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

Reimplements: QAbstractTextDocumentLayout::hitTest(const QPointF &point, Qt::HitTestAccuracy accuracy) const.

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

Reimplements: QAbstractTextDocumentLayout::pageCount() const.

void QPlainTextDocumentLayout::requestUpdate()

Beantragt eine vollständige Aktualisierung aller Ansichten.

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