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 |
- Liste aller Mitglieder, einschließlich geerbter Mitglieder
- QTextBlockFormat ist Teil von Rich Text Processing APIs und Implicitly Shared Classes.
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.
Konstante | Wert | Beschreibung |
---|---|---|
QTextBlockFormat::SingleHeight | 0 | Dies ist die Standardzeilenhöhe: einfacher Abstand. |
QTextBlockFormat::ProportionalHeight | 1 | Damit wird der Abstand proportional zur Zeile eingestellt (in Prozent). Beispiel: 200 für doppelte Abstände. |
QTextBlockFormat::FixedHeight | 2 | Legt die Zeilenhöhe auf eine feste Zeilenhöhe (in Pixeln) fest. |
QTextBlockFormat::MinimumHeight | 3 | Legt die Mindestzeilenhöhe fest (in Pixeln). |
QTextBlockFormat::LineDistanceHeight | 4 | Addiert 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.
Konstante | Wert | Beschreibung |
---|---|---|
QTextBlockFormat::MarkerType::NoMarker | 0 | Dies ist die Voreinstellung: Das Aufzählungszeichen des Listenelements wird angezeigt. |
QTextBlockFormat::MarkerType::Unchecked | 1 | Anstelle des Aufzählungszeichens des Listenelements wird ein nicht markiertes Kontrollkästchen angezeigt. |
QTextBlockFormat::MarkerType::Checked | 2 | Anstelle 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.