class QTextBlockFormat#

QTextBlockFormat 类提供了对QTextDocument 中文本块进行格式化信息的定义。 更多信息

Inheritance diagram of PySide6.QtGui.QTextBlockFormat

概述#

方法#

说明

此文档中可能包含自动从C++转换为Python的代码片段。我们始终欢迎对片段翻译的贡献。如果您发现翻译问题,也可以通过在https:/bugreports.qt.io/projects/PYSIDE创建工单的方式告诉我们。

详细说明#

一个文档由一系列块组成,这些块由QTextBlock对象表示。每个块可以包含某种类型的项,例如文本段落、表格、列表或图片。每个块都有一个关联的QTextBlockFormat对象,该对象指定了其特征。

为了支持从左到右和从右到左的语言,您可以使用setLayoutDirection()方法设置一个块的文本方向。段落对齐可以通过setAlignment()方法设置。边距可以通过setTopMargin()setBottomMargin()setLeftMargin()setRightMargin()来控制。整体缩进通过setIndent()设置,首行缩进通过setTextIndent()设置。

行间距通过setLineHeight()和通过lineHeight()以及lineHeightType()获取。可用的行间距类型在LineHeightTypes枚举类型中。

可以通过setNonBreakableLines()方法启用或禁用换行。

绘制段落背景所使用的画笔通过setBackground()设置,文本的其他外观方面可以通过使用代码 OutlinePenForegroundBrushBackgroundBrushProperty值通过函数setProperty()来自定义。

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

参阅

QTextBlock QTextCharFormat

class LineHeightTypes#

此枚举描述了段落可以具有的各类行间距。

常量

描述

QTextBlockFormat.SingleHeight

这是默认的行高:单倍行距。

QTextBlockFormat.ProportionalHeight

这设置行间距与行成比例(百分比)。例如,设为200表示双倍行距。

QTextBlockFormat.FixedHeight

这设置行高为一个固定的行高(以像素为单位)。

QTextBlockFormat.MinimumHeight

这设置最小行高(以像素为单位)。

QTextBlockFormat.LineDistanceHeight

这设置行与行之间的指定高度(以像素为单位)。

自 4.8 版本开始引入。

class MarkerType#

此枚举描述了列表项可以具有的标记类型。如果列表项(由 textList() 返回的列表)有一个标记,则它将被渲染而不是正常的项目符号。通过这种方式,可勾选的列表项可以与同列表中的普通列表项混合使用,覆盖整个列表由 style() 指定的项目符号类型。

常量

描述

QTextBlockFormat.MarkerType.NoMarker

这是默认情况:显示列表项的项目符号。

QTextBlockFormat.MarkerType.Unchecked

显示未勾选的复选框,而不是列表项的项目符号。

QTextBlockFormat.MarkerType.Checked

显示已勾选的复选框,而不是列表项的项目符号。

将来可能会扩展以指定其他类型的段落装饰。

参阅

style()

__init__(fmt)#
参数:

fmt - QTextFormat

__init__()

构造一个新的 QTextBlockFormat

alignment()#
返回类型:

AlignmentFlag 的组合

返回段落的对齐方式。

bottomMargin()#
返回类型:

浮点数

返回段落的底部边距。

headingLevel()#
返回类型:

整型

如果段落是标题段落,则返回段落的标题级别或0(如果没有标题级别)。

indent()#
返回类型:

整型

返回段落的缩进。

参阅

setIndent()

leftMargin()#
返回类型:

浮点数

返回段落的左边距。

lineHeight()#
返回类型:

浮点数

返回段落行高的LineHeight属性。

lineHeight(scriptLineHeight, scaling)
参数:
  • scriptLineHeight – 浮点数

  • scaling – 浮点数

返回类型:

浮点数

基于由scriptLineHeight提供的脚本行高和指定的scaling缩放因子,返回段落中行的高度。

返回的值还取决于段落的LineHeightType以及已为段落设置的LineHeight。

对于包括固定像素数的行高,需要进行缩放以便适应打印。

lineHeightType()#
返回类型:

整型

返回段落的LineHeightType属性。

marker()#
返回类型:

标记类型

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

参阅

setMarker()

nonBreakableLines()#
返回类型:

布尔值

如果段落的行不可断行,则返回 true,否则返回 false

pageBreakPolicy()#
返回类型:

PageBreakFlag 的组合

返回段落当前设置的页面分页策略。默认是 PageBreak_Auto

rightMargin()#
返回类型:

浮点数

返回段落的右侧页边距。

setAlignment(alignment)#
参数:

alignmentAlignmentFlag 的组合

设置段落的对齐方式。

参阅

alignment()

setBottomMargin(margin)#
参数:

margin – 浮点数

设置段落的底部页边距。

setHeadingLevel(alevel)#
参数:

alevel – int

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

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

setIndent(indent)#
参数:

indent – int

设置段落的缩进。缩进与边距独立设置,使用 setLeftMargin()setTextIndent() 进行设置。缩进是一个整数,它与文档范围内的标准缩进相乘,以产生段落的实际缩进。

setLeftMargin(margin)#
参数:

margin – 浮点数

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

setLineHeight(height, heightType)#
参数:
  • height – float

  • heightType – int

将段落行高设置为值为height,它依赖于heightType,具体方式由枚举类型LineHeightTypes描述。

setMarker(marker)#
参数:

markerMarkerType

将要与段落一起渲染的装饰类型设置为marker。例如,一个列表项可以被复选框装饰,无论是勾选还是未勾选,以替换其项目符号。默认为NoMarker

参阅

marker()

setNonBreakableLines(b)#
参数:

b – bool

如果b为真,段落中的行被视为不可断行;否则,它们是可断行的。

setPageBreakPolicy(flags)#
参数:

flags – 组合 PageBreakFlag

将段落的分页策略设置为policy

setRightMargin(margin)#
参数:

margin – 浮点数

设置段落的右margin

setTabPositions(tabs)#
参数:

tabs – . list of QTextOption.Tab

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

setTextIndent(aindent)#
参数:

aindent – float

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

setTopMargin(margin)#
参数:

margin – 浮点数

设置段落的顶部边距。

tabPositions()#
返回类型:

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

getTabPositions()

参阅

textIndent()#

返回段落的文本缩进。
返回类型:

浮点数

getTextIndent()

参阅

topMargin()#

返回段落的顶部边距。
返回类型:

浮点数

getTopMargin()