Auf dieser Seite

QTextBlockFormat Class

Die Klasse „QTextBlockFormat“ stellt Formatierungsinformationen für Textblöcke in einem „ QTextDocument “ bereit. Mehr...

Kopfzeile: #include <QTextBlockFormat>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui
Erbt von: QTextFormat

Hinweis: Alle Funktionen dieser Klasse sind reentrant.

Öffentliche Typen

enum LineHeightTypes { SingleHeight, ProportionalHeight, FixedHeight, MinimumHeight, LineDistanceHeight }
enum class MarkerType { NoMarker, Unchecked, Checked }

Öffentliche Funktionen

QTextBlockFormat()
Qt::Alignment alignment() const
qreal bottomMargin() const
int headingLevel() const
int indent() const
bool isValid() const
qreal leftMargin() const
qreal lineHeight() const
qreal lineHeight(qreal scriptLineHeight, qreal scaling = 1.0) const
int lineHeightType() const
QTextBlockFormat::MarkerType marker() const
bool nonBreakableLines() const
QTextFormat::PageBreakFlags pageBreakPolicy() const
qreal rightMargin() const
void setAlignment(Qt::Alignment alignment)
void setBottomMargin(qreal margin)
void setHeadingLevel(int level)
void setIndent(int indentation)
void setLeftMargin(qreal margin)
void setLineHeight(qreal height, int heightType)
void setMarker(QTextBlockFormat::MarkerType marker)
void setNonBreakableLines(bool b)
void setPageBreakPolicy(QTextFormat::PageBreakFlags policy)
void setRightMargin(qreal margin)
void setTabPositions(const QList<QTextOption::Tab> &tabs)
void setTextIndent(qreal indent)
void setTopMargin(qreal margin)
QList<QTextOption::Tab> tabPositions() const
qreal textIndent() const
qreal topMargin() const

Ausführliche Beschreibung

Ein Dokument besteht aus einer Liste von Blöcken, die durch ` QTextBlock `-Objekte dargestellt werden. Jeder Block kann ein Element enthalten, beispielsweise einen Textabsatz, eine Tabelle, eine Liste oder ein Bild. Jedem Block ist ein `QTextBlockFormat` zugeordnet, das seine Eigenschaften festlegt.

Um Sprachen mit Schreibrichtung von links nach rechts und von rechts nach links zu unterstützen, können Sie die Richtung eines Blocks mit ` setLayoutDirection()` festlegen. Die Absatzausrichtung wird mit ` setAlignment()` festgelegt. Die Ränder werden über ` setTopMargin()`, ` setBottomMargin()`, ` setLeftMargin()` und ` setRightMargin()` gesteuert. Die Gesamteinzugsweite wird mit ` setIndent()` festgelegt, der Einzug der ersten Zeile mit ` setTextIndent()`.

Der Zeilenabstand wird mit ` setLineHeight()` festgelegt und über ` lineHeight()` sowie ` lineHeightType()` abgerufen. Die verfügbaren Arten des Zeilenabstands sind in der Enumeration ` LineHeightTypes ` aufgeführt.

Zeilenumbrüche können mit ` setNonBreakableLines()` aktiviert und deaktiviert werden.

Der Pinsel, der zum Ausmalen des Absatzhintergrunds verwendet wird, wird mit ` setBackground()` festgelegt, und andere Aspekte des Textaussehens können mithilfe der Funktion ` setProperty()` mit den Werten ` OutlinePen`, ` ForegroundBrush` und ` BackgroundBrush ` QTextFormat::Property angepasst werden.

Ist ein Textblock Teil einer Liste, kann er zudem ein Listenformat aufweisen, auf das über die Funktion `listFormat()` zugegriffen werden kann.

Siehe auch QTextBlock und QTextCharFormat.

Dokumentation zu Mitgliedstypen

enum QTextBlockFormat::LineHeightTypes

Diese Aufzählung beschreibt die verschiedenen Arten von Zeilenabständen, die in Absätzen verwendet werden können.

KonstanteWertBeschreibung
QTextBlockFormat::SingleHeight0Dies ist die Standardzeilenhöhe: einfacher Zeilenabstand.
QTextBlockFormat::ProportionalHeight1Hiermit wird der Abstand proportional zur Zeilenhöhe festgelegt (in Prozent). Setzen Sie den Wert beispielsweise auf 200, um einen doppelten Zeilenabstand zu erzielen.
QTextBlockFormat::FixedHeight2Hiermit wird die Zeilenhöhe auf einen festen Wert (in Pixeln) festgelegt.
QTextBlockFormat::MinimumHeight3Hiermit wird die minimale Zeilenhöhe (in Pixeln) festgelegt.
QTextBlockFormat::LineDistanceHeight4Hiermit wird der angegebene Abstand zwischen den Zeilen (in Pixeln) hinzugefügt.

Siehe auch lineHeight(), lineHeightType() und setLineHeight().

enum class QTextBlockFormat::MarkerType

Diese Enumeration beschreibt die Arten von Markierungen, die ein Listenelement haben kann. Wenn ein Listenelement (ein Absatz, für den ` QTextBlock::textList()` die Liste zurückgibt) eine Markierung hat, wird diese anstelle des normalen Aufzählungszeichens dargestellt. Auf diese Weise können ankreuzbare Listenelemente mit einfachen Listenelementen in derselben Liste gemischt werden, wobei der durch ` QTextListFormat::style()` für die gesamte Liste festgelegte Aufzählungszeichen-Typ überschrieben wird.

KonstanteWertBeschreibung
QTextBlockFormat::MarkerType::NoMarker0Dies ist die Standardeinstellung: Das Aufzählungszeichen des Listenelements wird angezeigt.
QTextBlockFormat::MarkerType::Unchecked1Anstelle des Aufzählungszeichens des Listenelements wird ein nicht markiertes Kontrollkästchen angezeigt.
QTextBlockFormat::MarkerType::Checked2Anstelle des Aufzählungszeichens des Listenelements wird ein markiertes Kontrollkästchen angezeigt.

In Zukunft wird diese Funktion möglicherweise erweitert, um andere Arten von Absatzdekorationen festzulegen.

Siehe auch ` QTextListFormat::style()`.

Dokumentation zu Mitgliedsfunktionen

QTextBlockFormat::QTextBlockFormat()

Erstellt ein neues QTextBlockFormat.

Qt::Alignment QTextBlockFormat::alignment() const

Gibt die Ausrichtung des Absatzes zurück.

Siehe auch „ setAlignment()“.

qreal QTextBlockFormat::bottomMargin() const

Gibt den unteren Rand des Absatzes zurück.

Siehe auch „ setBottomMargin()“ und „ topMargin()“.

int QTextBlockFormat::headingLevel() const

Gibt die Überschriftenebene des Absatzes zurück, sofern es sich um eine Überschrift handelt, andernfalls 0.

Siehe auch „ setHeadingLevel()“.

int QTextBlockFormat::indent() const

Gibt den Einzug des Absatzes zurück.

Siehe auch „ setIndent()“.

bool QTextBlockFormat::isValid() const

Gibt „ true “ zurück, wenn dieses Blockformat gültig ist; andernfalls wird „false“ zurückgegeben.

qreal QTextBlockFormat::leftMargin() const

Gibt den linken Rand des Absatzes zurück.

Siehe auch setLeftMargin(), rightMargin() und indent().

qreal QTextBlockFormat::lineHeight() const

Dies gibt die Eigenschaft „LineHeight“ für den Absatz zurück.

Siehe auch „ LineHeightTypes“ , „ setLineHeight()“ und „ lineHeightType()“.

qreal QTextBlockFormat::lineHeight(qreal scriptLineHeight, qreal scaling = 1.0) const

Gibt die Zeilenhöhe im Absatz zurück, basierend auf der Höhe der durch „ scriptLineHeight “ angegebenen Skriptzeile und dem angegebenen Faktor „ scaling “.

Der zurückgegebene Wert hängt außerdem vom angegebenen `LineHeightType` des Absatzes sowie von der für den Absatz festgelegten Einstellung für die Zeilenhöhe (`LineHeight`) ab.

Die Skalierung ist erforderlich, wenn Höhen eine feste Anzahl von Pixeln enthalten, um diese für den Druck angemessen anzupassen.

Siehe auch LineHeightTypes, setLineHeight() und lineHeightType().

int QTextBlockFormat::lineHeightType() const

Dies gibt die Eigenschaft „LineHeightType“ des Absatzes zurück.

Siehe auch „ LineHeightTypes“ , „ setLineHeight()“ und „ lineHeight()“.

QTextBlockFormat::MarkerType QTextBlockFormat::marker() const

Gibt die Absatzmarkierung zurück, sofern eine gesetzt wurde, andernfalls „ NoMarker “.

Siehe auch „ setMarker()“.

bool QTextBlockFormat::nonBreakableLines() const

Gibt „ true “ zurück, wenn die Zeilen im Absatz nicht umgebrochen werden können; andernfalls wird „ false “ zurückgegeben.

Siehe auch setNonBreakableLines().

QTextFormat::PageBreakFlags QTextBlockFormat::pageBreakPolicy() const

Gibt die aktuell für den Absatz festgelegte Seitenumbruchregel zurück. Der Standardwert lautet „ QTextFormat::PageBreak_Auto “.

Siehe auch „ setPageBreakPolicy()“.

qreal QTextBlockFormat::rightMargin() const

Gibt den rechten Rand des Absatzes zurück.

Siehe auch „ setRightMargin “ () und „ leftMargin “ ().

void QTextBlockFormat::setAlignment(Qt::Alignment alignment)

Legt die „ alignment “ des Absatzes fest.

Siehe auch „ alignment()“.

void QTextBlockFormat::setBottomMargin(qreal margin)

Legt den unteren Rand des Absatzes fest: margin.

Siehe auch bottomMargin(), setTopMargin(), setLeftMargin() und setRightMargin().

void QTextBlockFormat::setHeadingLevel(int level)

Legt die Überschriften level des Absatzes fest, wobei 1 den Überschriften-Typ der höchsten Ebene bezeichnet (in der Regel mit der größtmöglichen Schriftgröße für Überschriften) und steigende Werte eine zunehmend tiefere Ebene im Dokument angeben (in der Regel mit kleineren Schriftgrößen). Beim Lesen eines HTML-H1-Tags wird die Überschriftenebene beispielsweise auf 1 gesetzt. Das Festlegen der Überschriftenebene ändert nicht automatisch die Schriftgröße; mit „ QTextDocumentFragment::fromHtml()“ werden jedoch sowohl die Überschriftenebene als auch die Schriftgröße gleichzeitig festgelegt.

Wenn es sich bei dem Absatz nicht um eine Überschrift handelt, sollte die Ebene auf 0 gesetzt werden (Standardwert).

Siehe auch headingLevel().

void QTextBlockFormat::setIndent(int indentation)

Legt den Absatzabstand ( indentation) fest. Die Ränder werden unabhängig von der Einrückung mit den Funktionen „ setLeftMargin()“ und „ setTextIndent()“ festgelegt. Der Absatzabstand ( indentation ) ist eine ganze Zahl, die mit der dokumentweiten Standardeinrückung multipliziert wird, woraus sich die tatsächliche Einrückung des Absatzes ergibt.

Siehe auch indent() und QTextDocument::indentWidth().

void QTextBlockFormat::setLeftMargin(qreal margin)

Legt den linken margin des Absatzes fest. Der Einzug kann separat mit setIndent() festgelegt werden.

Siehe auch leftMargin(), setRightMargin(), setTopMargin() und setBottomMargin().

void QTextBlockFormat::setLineHeight(qreal height, int heightType)

Legt die Zeilenhöhe für den Absatz auf den Wert fest, der durch „ height “ angegeben wird und der von „ heightType “ in der durch die Enumeration „ LineHeightTypes “ beschriebenen Weise abhängt.

Siehe auch LineHeightTypes, lineHeight() und lineHeightType().

void QTextBlockFormat::setMarker(QTextBlockFormat::MarkerType marker)

Legt fest, dass neben dem Absatz die Verzierung „ marker “ angezeigt wird. So kann beispielsweise ein Listenelement anstelle des Aufzählungszeichens mit einem Kontrollkästchen versehen werden, das entweder aktiviert oder deaktiviert ist. Die Standardeinstellung ist „ NoMarker “.

Siehe auch marker().

void QTextBlockFormat::setNonBreakableLines(bool b)

Wenn „ b “ wahr ist, werden die Zeilen im Absatz als nicht umbrechbar behandelt; andernfalls sind sie umbrechbar.

Siehe auch nonBreakableLines().

void QTextBlockFormat::setPageBreakPolicy(QTextFormat::PageBreakFlags policy)

Legt die Seitenumbruchrichtlinie für den Absatz auf „ policy “ fest.

Siehe auch „ pageBreakPolicy()“.

void QTextBlockFormat::setRightMargin(qreal margin)

Legt den rechten Rand des Absatzes fest: margin.

Siehe auch rightMargin(), setLeftMargin(), setTopMargin() und setBottomMargin().

void QTextBlockFormat::setTabPositions(const QList<QTextOption::Tab> &tabs)

Legt die Tabulatorpositionen für den Textblock so fest, wie sie unter tabs angegeben sind.

Siehe auch tabPositions().

void QTextBlockFormat::setTextIndent(qreal indent)

Legt den Einzug „ indent “ für die erste Zeile im Block fest. Dadurch kann die erste Zeile eines Absatzes anders eingerückt werden als die übrigen Zeilen, was die Lesbarkeit des Textes verbessert.

Siehe auch „ textIndent()“, „ setLeftMargin()“, „ setRightMargin()“, „ setTopMargin()“ und „ setBottomMargin()“.

void QTextBlockFormat::setTopMargin(qreal margin)

Legt den oberen Rand des Absatzes fest: margin.

Siehe auch topMargin(), setBottomMargin(), setLeftMargin() und setRightMargin().

QList<QTextOption::Tab> QTextBlockFormat::tabPositions() const

Gibt eine Liste der für den Textblock definierten Tabulatorpositionen zurück.

Siehe auch „ setTabPositions()“.

qreal QTextBlockFormat::textIndent() const

Gibt den Texteinzug des Absatzes zurück.

Siehe auch setTextIndent().

qreal QTextBlockFormat::topMargin() const

Gibt den oberen Rand des Absatzes zurück.

Siehe auch „ setTopMargin()“ und „ bottomMargin()“.

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