QTextBlockFormat 类
QTextBlockFormat 类为 QTextDocument 中的文本块提供格式信息。更多信息...
头文件 | #include <QTextBlockFormat> |
CMake | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
qmake | QT += gui |
继承自 | QTextFormat |
- 包含所有成员的列表,包括继承成员
- QTextBlockFormat 是 富文本处理 API 和 隐式共享类 的一部分。
注意:此类中所有函数都是 重入的。
公共类型
枚举 | LineHeightTypes { SingleHeight, ProportionalHeight, FixedHeight, MinimumHeight, LineDistanceHeight } |
枚举类 | 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 |
详细说明
文档由一系列块组成,这些块由 QTextBlock 对象表示。每个块可以包含某种项目,例如一段文本、一个表格、一个列表或一个图像。每个块都有一个相关的 QTextBlockFormat,用于指定其特征。
为了适应从左到右和从右到左的语言,您可以使用 setLayoutDirection() 设置块的排列方向。段落对齐使用 setAlignment() 设置。边距通过 setTopMargin()、setBottomMargin()、setLeftMargin()、setRightMargin() 控制。整体缩进使用 setIndent() 设置,首行缩进使用 setTextIndent() 设置。
行距使用 setLineHeight() 设置,并通过 lineHeight() 和 lineHeightType() 获取。可用的行距类型在 LineHeightTypes 枚举中。
可以使用 setNonBreakableLines() 启用和禁用行断开。
用于绘制段落背景的画刷由 setBackground() 设置,并通过使用 setProperty() 函数以及在 OutlinePen
、ForegroundBrush
和 BackgroundBrush
中使用 QTextFormat::Property 值来定制文本的其他外观。
如果文本块是列表的一部分,它也可以有可通过 listFormat() 函数访问的列表格式。
另请参阅QTextBlock 和 QTextCharFormat。
成员类型文档
枚举 QTextBlockFormat::LineHeightTypes
这个枚举描述了段落可以支持的行距类型。
常量 | 值 | 描述 |
---|---|---|
QTextBlockFormat::SingleHeight | 0 | 这是默认的行高:单倍行距。 |
QTextBlockFormat::ProportionalHeight | 1 | 这设置行距为行高的百分比。例如,设置为 200 代表双倍行距。 |
QTextBlockFormat::FixedHeight | 2 | 这设置行高为固定的行高(以像素为单位)。 |
QTextBlockFormat::MinimumHeight | 3 | 这设置最小的行高(以像素为单位)。 |
QTextBlockFormat::LineDistanceHeight | 4 | 这在行间添加指定的行高(以像素为单位)。 |
另请参阅lineHeight()、lineHeightType() 和 setLineHeight()。
枚举类 QTextBlockFormat::MarkerType
这个枚举描述了列表项可以有的标记类型。如果一个列表项(对于该列表项 QTextBlock::textList() 返回列表)有一个标记,它将被正常的项目符号替代。通过这种方式,可以将在同一列表中混合可复选列表项和平常列表项,覆盖整个列表中由 QTextListFormat::style() 指定的大纲类型。
常量 | 值 | 描述 |
---|---|---|
QTextBlockFormat::MarkerType::NoMarker | 0 | 默认情况下:将显示列表项的项目符号。 |
QTextBlockFormat::MarkerType::Unchecked | 1 | 代替列表项的项目符号,将显示未勾选的复选框。 |
QTextBlockFormat::MarkerType::Checked | 2 | 代替列表项的项目符号,将显示勾选的复选框。 |
将来,这可能扩展到指定其他类型的段落装饰。
另请参阅 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设置。
缩放对于包括固定像素数的行高是必要的,以便适当地进行打印缩放。
另请参阅 LineHeightTypes,setLineHeight 和 lineHeightType()。
qreal QTextBlockFormat::lineHeight() const
这返回段落的LineHeight属性。
另请参阅 LineHeightTypes,setLineHeight 和 lineHeightType()。
int QTextBlockFormat::lineHeightType() const
这返回段落的LineHeightType属性。
另请参阅 LineHeightTypes、setLineHeight() 和 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
返回段落的右页边距。
另请参阅 setRightMargin 和 leftMargin。
void QTextBlockFormat::setAlignment(Qt::Alignment alignment)
设置段落的 对齐方式。
另请参阅 alignment。
void QTextBlockFormat::setBottomMargin(qreal margin)
设置段落的底部 页边距。
另请参阅 bottomMargin、setTopMargin、setLeftMargin 和 setRightMargin。
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枚举方式进行描述。
另请参阅 LineHeightTypes,lineHeight() 以及 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 公司及其在全球其他国家的商标。所有其他商标均为其各自所有者的财产。