QTextBlockFormat 类提供格式化信息为文本块在 QTextDocument . 更多...
头: | #include <QTextBlockFormat> |
CMake: |
find_package(Qt6 COMPONENTS Gui REQUIRED)
target_link_libraries(mytarget PRIVATE Qt6::Gui) |
qmake: | QT += gui |
继承: | QTextFormat |
注意: 此类的所有函数 可重入 .
enum | LineHeightTypes { SingleHeight, ProportionalHeight, FixedHeight, MinimumHeight, LineDistanceHeight } |
enum class | MarkerType { NoMarker, Unchecked, Checked } |
QTextBlockFormat () | |
Qt::Alignment | alignment () const |
qreal | bottomMargin () const |
int | headingLevel () const |
int | indent () const |
bool | isValid () const |
qreal | leftMargin () const |
qreal | lineHeight (qreal scriptLineHeight , qreal scaling = 1.0) const |
qreal | lineHeight () 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 |
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 () 和 lineHeightType (). The types of line spacing available are in the LineHeightTypes 枚举。
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()
函数采用
OutlinePen
,
ForegroundBrush
,和
BackgroundBrush
QTextFormat::Property
值。
If a text block is part of a list, it can also have a list format that is accessible with the listFormat() function.
另请参阅 QTextBlock and QTextCharFormat .
This enum describes the various types of line spacing support paragraphs can have.
常量 | 值 | 描述 |
---|---|---|
QTextBlockFormat::SingleHeight
|
0
|
This is the default line height: single spacing. |
QTextBlockFormat::ProportionalHeight
|
1
|
This sets the spacing proportional to the line (in percentage). For example, set to 200 for double spacing. |
QTextBlockFormat::FixedHeight
|
2
|
This sets the line height to a fixed line height (in pixels). |
QTextBlockFormat::MinimumHeight
|
3
|
This sets the minimum line height (in pixels). |
QTextBlockFormat::LineDistanceHeight
|
4
|
This adds the specified height between lines (in pixels). |
另请参阅 lineHeight (), lineHeightType (),和 setLineHeight ().
[since 5.14]
enum class QTextBlockFormat::
MarkerType
This enum describes the types of markers a list item can have. If a list item (a paragraph for which QTextBlock::textList () returns the list) has a marker, it is rendered instead of the normal bullet. In this way, checkable list items can be mixed with plain list items in the same list, overriding the type of bullet specified by the QTextListFormat::style () for the entire list.
常量 | 值 | 描述 |
---|---|---|
QTextBlockFormat::MarkerType::NoMarker
|
0
|
This is the default: the list item's bullet will be shown. |
QTextBlockFormat::MarkerType::Unchecked
|
1
|
Instead of the list item's bullet, an unchecked checkbox will be shown. |
QTextBlockFormat::MarkerType::Checked
|
2
|
Instead of the list item's bullet, a checked checkbox will be shown. |
In the future, this may be extended to specify other types of paragraph decorations.
该枚举在 Qt 5.14 引入或被修改。
另请参阅 QTextListFormat::style ().
构造新的 QTextBlockFormat。
返回段落的对齐方式。
另请参阅 setAlignment ().
返回段落的底边距。
另请参阅 setBottomMargin () 和 topMargin ().
[since 5.12]
int
QTextBlockFormat::
headingLevel
() const
Returns the paragraph's heading level if it is a heading, or 0 if not.
该函数在 Qt 5.12 引入。
另请参阅 setHeadingLevel ().
Returns the paragraph's indent.
另请参阅 setIndent ().
返回
true
if this block format is valid; otherwise returns false.
Returns the paragraph's left margin.
另请参阅 setLeftMargin (), rightMargin (),和 indent ().
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.
另请参阅 LineHeightTypes , setLineHeight (),和 lineHeightType ().
This returns the LineHeight property for the paragraph.
另请参阅 LineHeightTypes , setLineHeight (),和 lineHeightType ().
This returns the LineHeightType property of the paragraph.
另请参阅 LineHeightTypes , setLineHeight (),和 lineHeight ().
[since 5.14]
QTextBlockFormat::MarkerType
QTextBlockFormat::
marker
() const
Returns the paragraph's marker if one has been set, or
NoMarker
若不。
该函数在 Qt 5.14 引入。
另请参阅 setMarker ().
返回
true
if the lines in the paragraph are non-breakable; otherwise returns
false
.
另请参阅 setNonBreakableLines ().
Returns the currently set page break policy for the paragraph. The default is QTextFormat::PageBreak_Auto .
另请参阅 setPageBreakPolicy ().
Returns the paragraph's right margin.
另请参阅 setRightMargin () 和 leftMargin ().
Sets the paragraph's alignment .
另请参阅 alignment ().
Sets the paragraph's bottom margin .
另请参阅 bottomMargin (), setTopMargin (), setLeftMargin (),和 setRightMargin ().
[since 5.12]
void
QTextBlockFormat::
setHeadingLevel
(
int
level
)
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 QTextDocumentFragment::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).
该函数在 Qt 5.12 引入。
另请参阅 headingLevel ().
Sets the paragraph's indentation . Margins are set independently of indentation with setLeftMargin () 和 setTextIndent ()。 indentation is an integer that is multiplied with the document-wide standard indent, resulting in the actual indent of the paragraph.
另请参阅 indent () 和 QTextDocument::indentWidth ().
Sets the paragraph's left margin . Indentation can be applied separately with setIndent ().
另请参阅 leftMargin (), setRightMargin (), setTopMargin (),和 setBottomMargin ().
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 枚举。
另请参阅 LineHeightTypes , lineHeight (),和 lineHeightType ().
[since 5.14]
void
QTextBlockFormat::
setMarker
(
QTextBlockFormat::MarkerType
marker
)
Sets the type of adornment that should be rendered alongside the paragraph to
marker
. For example, a list item can be adorned with a checkbox, either checked or unchecked, as a replacement for its bullet. The default is
NoMarker
.
该函数在 Qt 5.14 引入。
另请参阅 marker ().
若 b is true, the lines in the paragraph are treated as non-breakable; otherwise they are breakable.
另请参阅 nonBreakableLines ().
Sets the page break policy for the paragraph to policy .
另请参阅 pageBreakPolicy ().
Sets the paragraph's right margin .
另请参阅 rightMargin (), setLeftMargin (), setTopMargin (),和 setBottomMargin ().
Sets the tab positions for the text block to those specified by tabs .
另请参阅 tabPositions ().
设置 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.
另请参阅 textIndent (), setLeftMargin (), setRightMargin (), setTopMargin (),和 setBottomMargin ().
Sets the paragraph's top margin .
另请参阅 topMargin (), setBottomMargin (), setLeftMargin (),和 setRightMargin ().
Returns a list of tab positions defined for the text block.
另请参阅 setTabPositions ().
Returns the paragraph's text indent.
另请参阅 setTextIndent ().
Returns the paragraph's top margin.
另请参阅 setTopMargin () 和 bottomMargin ().