QTextBlockFormat 类

QTextBlockFormat 类为 QTextDocument 中的文本块提供格式信息。更多信息...

头文件 #include <QTextBlockFormat>
CMakefind_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmakeQT += gui
继承自 QTextFormat

注意:此类中所有函数都是 重入的

公共类型

枚举LineHeightTypes { SingleHeight, ProportionalHeight, FixedHeight, MinimumHeight, LineDistanceHeight }
枚举类MarkerType { NoMarker, Unchecked, Checked }

公共函数

QTextBlockFormat()
Qt::Alignmentalignment() const
qrealbottomMargin() const
intheadingLevel() const
intindent() const
boolisValid() const
qrealleftMargin() const
qreallineHeight(qreal scriptLineHeight, qreal scaling = 1.0) const
qreallineHeight() const
intlineHeightType() const
QTextBlockFormat::MarkerTypemarker() const
boolnonBreakableLines() const
QTextFormat::PageBreakFlagspageBreakPolicy() const
qrealrightMargin() const
voidsetAlignment(Qt::Alignment alignment)
voidsetBottomMargin(qreal margin)
voidsetHeadingLevel(int level)
voidsetIndent(int indentation)
voidsetLeftMargin(qreal margin)
voidsetLineHeight(qreal height, int heightType)
voidsetMarker(QTextBlockFormat::MarkerType marker)
voidsetNonBreakableLines(bool b)
voidsetPageBreakPolicy(QTextFormat::PageBreakFlags policy)
voidsetRightMargin(qreal margin)
voidsetTabPositions(const QList<QTextOption::Tab> &tabs)
voidsetTextIndent(qreal indent)
voidsetTopMargin(qreal margin)
QList<QTextOption::Tab>tabPositions() const
qrealtextIndent() const
qrealtopMargin() const

详细说明

文档由一系列块组成,这些块由 QTextBlock 对象表示。每个块可以包含某种项目,例如一段文本、一个表格、一个列表或一个图像。每个块都有一个相关的 QTextBlockFormat,用于指定其特征。

为了适应从左到右和从右到左的语言,您可以使用 setLayoutDirection() 设置块的排列方向。段落对齐使用 setAlignment() 设置。边距通过 setTopMargin()、setBottomMargin()、setLeftMargin()、setRightMargin() 控制。整体缩进使用 setIndent() 设置,首行缩进使用 setTextIndent() 设置。

行距使用 setLineHeight() 设置,并通过 lineHeight() 和 lineHeightType() 获取。可用的行距类型在 LineHeightTypes 枚举中。

可以使用 setNonBreakableLines() 启用和禁用行断开。

用于绘制段落背景的画刷由 setBackground() 设置,并通过使用 setProperty() 函数以及在 OutlinePenForegroundBrushBackgroundBrush 中使用 QTextFormat::Property 值来定制文本的其他外观。

如果文本块是列表的一部分,它也可以有可通过 listFormat() 函数访问的列表格式。

另请参阅QTextBlockQTextCharFormat

成员类型文档

枚举 QTextBlockFormat::LineHeightTypes

这个枚举描述了段落可以支持的行距类型。

常量描述
QTextBlockFormat::SingleHeight0这是默认的行高:单倍行距。
QTextBlockFormat::ProportionalHeight1这设置行距为行高的百分比。例如,设置为 200 代表双倍行距。
QTextBlockFormat::FixedHeight2这设置行高为固定的行高(以像素为单位)。
QTextBlockFormat::MinimumHeight3这设置最小的行高(以像素为单位)。
QTextBlockFormat::LineDistanceHeight4这在行间添加指定的行高(以像素为单位)。

另请参阅lineHeight()、lineHeightType() 和 setLineHeight()。

枚举类 QTextBlockFormat::MarkerType

这个枚举描述了列表项可以有的标记类型。如果一个列表项(对于该列表项 QTextBlock::textList() 返回列表)有一个标记,它将被正常的项目符号替代。通过这种方式,可以将在同一列表中混合可复选列表项和平常列表项,覆盖整个列表中由 QTextListFormat::style() 指定的大纲类型。

常量描述
QTextBlockFormat::MarkerType::NoMarker0默认情况下:将显示列表项的项目符号。
QTextBlockFormat::MarkerType::Unchecked1代替列表项的项目符号,将显示未勾选的复选框。
QTextBlockFormat::MarkerType::Checked2代替列表项的项目符号,将显示勾选的复选框。

将来,这可能扩展到指定其他类型的段落装饰。

另请参阅 QTextListFormat::style()。

成员函数文档

QTextBlockFormat::QTextBlockFormat()

构建一个新的QTextBlockFormat。

Qt::Alignment QTextBlockFormat::alignment() const

返回段落的对齐方式。

另请参阅 setAlignment()。

qreal QTextBlockFormat::bottomMargin() const

返回段落的底部边距。

另请参阅 setBottomMargin() 和 topMargin()。

int QTextBlockFormat::headingLevel() const

如果段落是标题,则返回段落的标题级别;如果不是,返回0。

另请参阅 setHeadingLevel()。

int QTextBlockFormat::indent() const

返回段落的缩进。

另请参阅 setIndent()。

bool QTextBlockFormat::isValid() const

如果此块格式有效,则返回true;否则返回false。

qreal QTextBlockFormat::leftMargin() const

返回段落的左侧边距。

另请参阅 setLeftMargin(),rightMargin() 和 indent()。

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

基于由scriptLineHeight给出的脚本行高和指定的缩放因子返回段落的行高。

返回的值也取决于段落的给定LineHeightType以及为段落设置的LineHeight设置。

缩放对于包括固定像素数的行高是必要的,以便适当地进行打印缩放。

另请参阅 LineHeightTypessetLineHeightlineHeightType()。

qreal QTextBlockFormat::lineHeight() const

这返回段落的LineHeight属性。

另请参阅 LineHeightTypessetLineHeightlineHeightType()。

int QTextBlockFormat::lineHeightType() const

这返回段落的LineHeightType属性。

另请参阅 LineHeightTypessetLineHeight() 和 lineHeight

QTextBlockFormat::MarkerType QTextBlockFormat::marker() const

如果设置了段落标记,则返回段落的标记,否则返回 NoMarker

另请参阅 setMarker

bool QTextBlockFormat::nonBreakableLines() const

如果段落中的行不可分割,则返回 true;否则返回 false

另请参阅 setNonBreakableLines

QTextFormat::PageBreakFlags QTextBlockFormat::pageBreakPolicy() const

返回当前设置的段落的页面分隔策略。默认值为 QTextFormat::PageBreak_Auto

另请参阅 setPageBreakPolicy

qreal QTextBlockFormat::rightMargin() const

返回段落的右页边距。

另请参阅 setRightMarginleftMargin

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

设置段落的 对齐方式

另请参阅 alignment

void QTextBlockFormat::setBottomMargin(qreal margin)

设置段落的底部 页边距

另请参阅 bottomMarginsetTopMarginsetLeftMarginsetRightMargin

void QTextBlockFormat::setHeadingLevel(int level)

设置段落的标题 级别,其中 1 是最高级别标题类型(通常具有可能的最大标题字体大小),并且增加的值表示文档中更深入的级别(通常具有更小的字体大小)。例如,当读取 HTML 的 H1 标签时,标题级别设置为 1。设置标题级别不会自动更改字体大小;然而,QTextDocumentFragment::fromHtml() 同时设置标题级别和字体大小。

如果段落不是标题,则级别应设置为 0(默认值)。

另请参阅 headingLevel

void QTextBlockFormat::setIndent(int indentation)

设置段落的 缩进。使用 setLeftMargin() 和 setTextIndent() 独立于缩进设置页边距。缩进是一个整数,它乘以文档范围的标准缩进,从而得到段落的实际缩进。

另请参阅 indent() 和 QTextDocument::indentWidth().

void QTextBlockFormat::setLeftMargin(qreal margin)

设置段落的左边距。可以单独使用 setIndent() 应用于缩进。

另请参阅 leftMargin(),setRightMargin(),setTopMargin() 以及 setBottomMargin().

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

将段落的行高设置为值height,该值依赖于heightType,依据LineHeightTypes枚举方式进行描述。

另请参阅 LineHeightTypeslineHeight() 以及 lineHeightType().

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

将段落旁边应显示的装饰类型设置为 marker。例如,一个列表项可以用复选框装饰,无论是选中还是未选中,可以替代其项目符号。默认为 NoMarker

另请参阅 marker().

void QTextBlockFormat::setNonBreakableLines(bool b)

如果 b 为 true,则段落的行被视为不可断行;否则,可以断行。

另请参阅 nonBreakableLines().

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

将段落的页面断页策略设置为 policy

另请参阅 pageBreakPolicy().

void QTextBlockFormat::setRightMargin(qreal margin)

设置段落的右边距。

另请参阅 rightMargin(),setLeftMargin(),setTopMargin() 以及 setBottomMargin().

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

将文本块的制表位设置为 tabs 中指定的位置。

另请参阅 tabPositions().

void QTextBlockFormat::setTextIndent(qreal indent)

设置块中第一行的缩进。这允许段落的第—行与其他行缩进不同,从而提高文本的可读性。

另请参阅 textIndent(),setLeftMargin(),setRightMargin(),setTopMargin() 和 setBottomMargin()。

void QTextBlockFormat::setTopMargin(qreal margin)

设置段落的顶部缩进。

另请参阅 topMargin(),setBottomMargin(),setLeftMargin() 和 setRightMargin()。

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

返回为文本块定义的制表位位置列表。

另请参阅 setTabPositions()。

qreal QTextBlockFormat::textIndent() const

返回段落的文本缩进。

另请参阅 setTextIndent()。

qreal QTextBlockFormat::topMargin() const

返回段落的顶部边距。

另请参阅 setTopMargin() 和 bottomMargin()。

© 2024 Qt 公司。本文件中包含的文档贡献受各自所有者的版权保护。提供在此的文档符合免费软件开发基金会发布的 GNU 自由文档许可 1.3 版 的条款。Qt 和相关徽标是芬兰 Qt 公司及其在全球其他国家的商标。所有其他商标均为其各自所有者的财产。