QTextBlockFormat Class

Die Klasse QTextBlockFormat liefert Formatierungsinformationen für Textblöcke in einem QTextDocument. ...

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

Hinweis: Alle Funktionen in 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

Detaillierte Beschreibung

Ein Dokument besteht aus einer Liste von Blöcken, die durch QTextBlock Objekte dargestellt werden. Jeder Block kann ein Element irgendeiner Art enthalten, wie z.B. einen Textabsatz, eine Tabelle, eine Liste oder ein Bild. Jeder Block hat ein zugehöriges QTextBlockFormat, das seine Eigenschaften spezifiziert.

Um die Sprachen von links nach rechts und von rechts nach links zu berücksichtigen, können Sie die Ausrichtung eines Blocks mit setLayoutDirection() festlegen. Die Absatzausrichtung wird mit setAlignment() festgelegt. Die Ränder werden mit setTopMargin(), setBottomMargin(), setLeftMargin(), setRightMargin() gesteuert. Die gesamte Einrückung wird mit setIndent() eingestellt, die Einrückung der ersten Zeile mit setTextIndent().

Der Zeilenabstand wird mit setLineHeight() eingestellt und über lineHeight() und lineHeightType() abgerufen. Die verfügbaren Arten des Zeilenabstands sind in der Aufzählung LineHeightTypes aufgeführt.

Der Zeilenumbruch kann mit setNonBreakableLines() aktiviert und deaktiviert werden.

Der Pinsel, mit dem der Hintergrund des Absatzes gemalt wird, wird mit setBackground() festgelegt, und andere Aspekte des Textes können mit der Funktion setProperty() mit den Werten OutlinePen, ForegroundBrush und BackgroundBrush QTextFormat::Property angepasst werden.

Wenn ein Textblock Teil einer Liste ist, kann er auch ein Listenformat haben, das mit der Funktion listFormat() zugänglich ist.

Siehe auch QTextBlock und QTextCharFormat.

Dokumentation der Mitgliedstypen

enum QTextBlockFormat::LineHeightTypes

Diese Aufzählung beschreibt die verschiedenen Arten von Zeilenabständen, die Absätze haben können.

KonstanteWertBeschreibung
QTextBlockFormat::SingleHeight0Dies ist die Standardzeilenhöhe: einfacher Abstand.
QTextBlockFormat::ProportionalHeight1Damit wird der Abstand proportional zur Zeile eingestellt (in Prozent). Beispiel: 200 für doppelte Abstände.
QTextBlockFormat::FixedHeight2Legt die Zeilenhöhe auf eine feste Zeilenhöhe (in Pixeln) fest.
QTextBlockFormat::MinimumHeight3Legt die Mindestzeilenhöhe fest (in Pixeln).
QTextBlockFormat::LineDistanceHeight4Addiert die angegebene Höhe zwischen den Zeilen (in Pixeln).

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

enum class QTextBlockFormat::MarkerType

Diese Aufzählung 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 sie anstelle des normalen Aufzählungszeichens dargestellt. Auf diese Weise können ankreuzbare Listenelemente mit einfachen Listenelementen in derselben Liste gemischt werden, wobei die Art des Aufzählungszeichens, die von QTextListFormat::style() für die gesamte Liste angegeben wird, außer Kraft gesetzt wird.

KonstanteWertBeschreibung
QTextBlockFormat::MarkerType::NoMarker0Dies ist die Voreinstellung: 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 wird ein angekreuztes Kästchen angezeigt.

In Zukunft kann dies erweitert werden, um andere Arten von Absatzdekorationen festzulegen.

Siehe auch QTextListFormat::style().

Dokumentation der Mitgliedsfunktionen

QTextBlockFormat::QTextBlockFormat()

Konstruiert 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, wenn es sich um eine Überschrift handelt, oder 0, wenn nicht.

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 Höhe der Zeilen im Absatz zurück, basierend auf der Höhe der Skriptzeile, die durch scriptLineHeight angegeben wird, und dem angegebenen Faktor scaling.

Der zurückgegebene Wert hängt auch vom angegebenen LineHeightType des Absatzes sowie von der LineHeight-Einstellung ab, die für den Absatz festgelegt wurde.

Die Skalierung wird für Höhen benötigt, die eine feste Anzahl von Pixeln enthalten, um sie für den Druck entsprechend zu skalieren.

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, wenn eine gesetzt wurde, oder NoMarker, wenn nicht.

Siehe auch setMarker().

bool QTextBlockFormat::nonBreakableLines() const

Gibt true zurück, wenn die Zeilen des Absatzes nicht umbrechbar sind; andernfalls false.

Siehe auch setNonBreakableLines().

QTextFormat::PageBreakFlags QTextBlockFormat::pageBreakPolicy() const

Gibt die aktuell eingestellte Seitenumbruchrichtlinie für den Absatz zurück. Die Vorgabe ist 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)

Setzt den Absatz auf alignment.

Siehe auch alignment().

void QTextBlockFormat::setBottomMargin(qreal margin)

Setzt den unteren Rand des Absatzes margin.

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

void QTextBlockFormat::setHeadingLevel(int level)

Legt die Überschriftsebene des Absatzes level fest, wobei 1 die höchste Überschriftsebene ist (in der Regel mit der größtmöglichen Schriftgröße für die Überschrift) und steigende Werte schrittweise tiefer in das Dokument hineinreichen (und in der Regel mit kleineren Schriftgrößen). Beim Lesen eines HTML-H1-Tags wird die Überschriftsebene beispielsweise auf 1 gesetzt. Das Setzen der Überschriftsebene ändert nicht automatisch die Schriftgröße; QTextDocumentFragment::fromHtml() setzt jedoch sowohl die Überschriftsebene als auch die Schriftgröße gleichzeitig.

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

Siehe auch headingLevel().

void QTextBlockFormat::setIndent(int indentation)

Legt die indentation des Absatzes fest. Ränder werden unabhängig von der Einrückung mit setLeftMargin() und setTextIndent() festgelegt. indentation ist eine ganze Zahl, die mit dem dokumentenweiten Standardeinzug multipliziert wird und so den tatsächlichen Einzug des Absatzes ergibt.

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

void QTextBlockFormat::setLeftMargin(qreal margin)

Legt die linke Seite des Absatzes margin fest. Die Einrückung kann separat mit setIndent() vorgenommen werden.

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

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

Setzt die Zeilenhöhe für den Absatz auf den in height angegebenen Wert, der von heightType abhängig ist, wie in LineHeightTypes enum beschrieben.

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

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

Legt die Art der Verzierung fest, die neben dem Absatz auf marker dargestellt werden soll. Beispielsweise kann ein Listenelement mit einem Kontrollkästchen, das entweder markiert oder nicht markiert ist, als Ersatz für seinen Aufzählungspunkt versehen werden. Die Vorgabe ist NoMarker.

Siehe auch marker().

void QTextBlockFormat::setNonBreakableLines(bool b)

Wenn b wahr ist, werden die Zeilen des Absatzes als nicht umbrechbar behandelt; andernfalls sind sie umbrechbar.

Siehe auch nonBreakableLines().

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

Setzt die Seitenumbruchregel für den Absatz auf policy.

Siehe auch pageBreakPolicy().

void QTextBlockFormat::setRightMargin(qreal margin)

Legt die rechte Seite des Absatzes margin fest.

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

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

Setzt die Tabulatorpositionen für den Textblock auf die von tabs angegebenen.

Siehe auch tabPositions().

void QTextBlockFormat::setTextIndent(qreal indent)

Legt die indent für die erste Zeile des Blocks fest. Dadurch kann die erste Zeile eines Absatzes anders eingerückt werden als die anderen Zeilen, was die Lesbarkeit des Textes verbessert.

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

void QTextBlockFormat::setTopMargin(qreal margin)

Setzt den oberen Rand des Absatzes 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().

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