QTextBlockFormat

The QTextBlockFormat class provides formatting information for blocks of text in a QTextDocument . More

Inheritance diagram of PySide2.QtGui.QTextBlockFormat

Synopsis

Functions

Detailed Description

A document is composed of a list of blocks, represented by QTextBlock objects. Each block can contain an item of some kind, such as a paragraph of text, a table, a list, or an image. Every block has an associated QTextBlockFormat that specifies its characteristics.

To cater for left-to-right and right-to-left languages you can set a block’s direction with setDirection(). Paragraph alignment is set with setAlignment() . Margins are controlled by setTopMargin() , setBottomMargin() , setLeftMargin() , setRightMargin() . Overall indentation is set with setIndent() , the indentation of the first line with setTextIndent() .

Line spacing is set with setLineHeight() and retrieved via lineHeight() and lineHeightType() . The types of line spacing available are in the LineHeightTypes enum.

Line breaking can be enabled and disabled with setNonBreakableLines() .

The brush used to paint the paragraph’s background is set with setBackground() , and other aspects of the text’s appearance can be customized by using the setProperty() function with the OutlinePen , ForegroundBrush , and BackgroundBrush Property values.

If a text block is part of a list, it can also have a list format that is accessible with the listFormat() function.

class QTextBlockFormat

QTextBlockFormat(QTextBlockFormat)

QTextBlockFormat(fmt)

param QTextBlockFormat

QTextBlockFormat

param fmt

QTextFormat

Constructs a new QTextBlockFormat .

PySide2.QtGui.QTextBlockFormat.LineHeightTypes

This enum describes the various types of line spacing support paragraphs can have.

Constant

Description

QTextBlockFormat.SingleHeight

This is the default line height: single spacing.

QTextBlockFormat.ProportionalHeight

This sets the spacing proportional to the line (in percentage). For example, set to 200 for double spacing.

QTextBlockFormat.FixedHeight

This sets the line height to a fixed line height (in pixels).

QTextBlockFormat.MinimumHeight

This sets the minimum line height (in pixels).

QTextBlockFormat.LineDistanceHeight

This adds the specified height between lines (in pixels).

New in version 4.8.

PySide2.QtGui.QTextBlockFormat.alignment()
Return type

Alignment

Returns the paragraph’s alignment.

See also

setAlignment()

PySide2.QtGui.QTextBlockFormat.bottomMargin()
Return type

qreal

Returns the paragraph’s bottom margin.

PySide2.QtGui.QTextBlockFormat.headingLevel()
Return type

int

Returns the paragraph’s heading level if it is a heading, or 0 if not.

PySide2.QtGui.QTextBlockFormat.indent()
Return type

int

Returns the paragraph’s indent.

See also

setIndent()

PySide2.QtGui.QTextBlockFormat.leftMargin()
Return type

qreal

Returns the paragraph’s left margin.

PySide2.QtGui.QTextBlockFormat.lineHeight()
Return type

qreal

This returns the LineHeight property for the paragraph.

See also

LineHeightTypes setLineHeight() lineHeightType()

PySide2.QtGui.QTextBlockFormat.lineHeight(scriptLineHeight, scaling)
Parameters
  • scriptLineHeightqreal

  • scalingqreal

Return type

qreal

Returns the height of the lines in the paragraph based on the height of the script line given by scriptLineHeight and the specified scaling factor.

The value that is returned is also dependent on the given LineHeightType of the paragraph as well as the LineHeight setting that has been set for the paragraph.

The scaling is needed for heights that include a fixed number of pixels, to scale them appropriately for printing.

See also

LineHeightTypes setLineHeight() lineHeightType()

PySide2.QtGui.QTextBlockFormat.lineHeightType()
Return type

int

This returns the LineHeightType property of the paragraph.

See also

LineHeightTypes setLineHeight() lineHeight()

PySide2.QtGui.QTextBlockFormat.nonBreakableLines()
Return type

bool

Returns true if the lines in the paragraph are non-breakable; otherwise returns false .

PySide2.QtGui.QTextBlockFormat.pageBreakPolicy()
Return type

PageBreakFlags

Returns the currently set page break policy for the paragraph. The default is PageBreak_Auto .

PySide2.QtGui.QTextBlockFormat.rightMargin()
Return type

qreal

Returns the paragraph’s right margin.

PySide2.QtGui.QTextBlockFormat.setAlignment(alignment)
Parameters

alignmentAlignment

Sets the paragraph’s alignment .

See also

alignment()

PySide2.QtGui.QTextBlockFormat.setBottomMargin(margin)
Parameters

marginqreal

Sets the paragraph’s bottom margin .

PySide2.QtGui.QTextBlockFormat.setHeadingLevel(alevel)
Parameters

alevelint

Sets the paragraph’s heading level , where 1 is the highest-level heading type (usually with the largest possible heading font size), and increasing values are progressively deeper into the document (and usually with smaller font sizes). For example when reading an HTML H1 tag, the heading level is set to 1. Setting the heading level does not automatically change the font size; however fromHtml() sets both the heading level and the font size simultaneously.

If the paragraph is not a heading, the level should be set to 0 (the default).

See also

headingLevel()

PySide2.QtGui.QTextBlockFormat.setIndent(indent)
Parameters

indentint

Sets the paragraph’s indentation . Margins are set independently of indentation with setLeftMargin() and setTextIndent() . The indentation is an integer that is multiplied with the document-wide standard indent, resulting in the actual indent of the paragraph.

PySide2.QtGui.QTextBlockFormat.setLeftMargin(margin)
Parameters

marginqreal

Sets the paragraph’s left margin . Indentation can be applied separately with setIndent() .

PySide2.QtGui.QTextBlockFormat.setLineHeight(height, heightType)
Parameters
  • heightqreal

  • heightTypeint

Sets the line height for the paragraph to the value given by height which is dependent on heightType in the way described by the LineHeightTypes enum.

See also

LineHeightTypes lineHeight() lineHeightType()

PySide2.QtGui.QTextBlockFormat.setNonBreakableLines(b)
Parameters

bbool

If b is true, the lines in the paragraph are treated as non-breakable; otherwise they are breakable.

PySide2.QtGui.QTextBlockFormat.setPageBreakPolicy(flags)
Parameters

flagsPageBreakFlags

Sets the page break policy for the paragraph to policy .

PySide2.QtGui.QTextBlockFormat.setRightMargin(margin)
Parameters

marginqreal

Sets the paragraph’s right margin .

PySide2.QtGui.QTextBlockFormat.setTabPositions(tabs)
Parameters

tabs

Sets the tab positions for the text block to those specified by tabs .

See also

tabPositions()

PySide2.QtGui.QTextBlockFormat.setTextIndent(aindent)
Parameters

aindentqreal

Sets the indent for the first line in the block. This allows the first line of a paragraph to be indented differently to the other lines, enhancing the readability of the text.

PySide2.QtGui.QTextBlockFormat.setTopMargin(margin)
Parameters

marginqreal

Sets the paragraph’s top margin .

PySide2.QtGui.QTextBlockFormat.tabPositions()
Return type

Returns a list of tab positions defined for the text block.

PySide2.QtGui.QTextBlockFormat.textIndent()
Return type

qreal

Returns the paragraph’s text indent.

See also

setTextIndent()

PySide2.QtGui.QTextBlockFormat.topMargin()
Return type

qreal

Returns the paragraph’s top margin.