- class QTextBlockFormat#
QTextBlockFormat类提供了对QTextDocument中文本块进行格式化信息的定义。 更多信息…概述#
方法#
def
__init__()def
alignment()def
bottomMargin()def
headingLevel()def
indent()def
leftMargin()def
lineHeight()def
lineHeightType()def
marker()定义
setIndent()定义
setMarker()定义
textIndent()定义
topMargin()
说明
此文档中可能包含自动从C++转换为Python的代码片段。我们始终欢迎对片段翻译的贡献。如果您发现翻译问题,也可以通过在https:/bugreports.qt.io/projects/PYSIDE创建工单的方式告诉我们。
详细说明#
一个文档由一系列块组成,这些块由
QTextBlock对象表示。每个块可以包含某种类型的项,例如文本段落、表格、列表或图片。每个块都有一个关联的QTextBlockFormat对象,该对象指定了其特征。为了支持从左到右和从右到左的语言,您可以使用
setLayoutDirection()方法设置一个块的文本方向。段落对齐可以通过setAlignment()方法设置。边距可以通过setTopMargin()、setBottomMargin()、setLeftMargin()和setRightMargin()来控制。整体缩进通过setIndent()设置,首行缩进通过setTextIndent()设置。行间距通过
setLineHeight()和通过lineHeight()以及lineHeightType()获取。可用的行间距类型在LineHeightTypes枚举类型中。可以通过
setNonBreakableLines()方法启用或禁用换行。绘制段落背景所使用的画笔通过
setBackground()设置,文本的其他外观方面可以通过使用代码OutlinePen、ForegroundBrush和BackgroundBrush的Property值通过函数setProperty()来自定义。如果文本块是列表的一部分,它还可以有一个可由listFormat()函数访问的列表格式。
参阅
QTextBlockQTextCharFormat- 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
显示已勾选的复选框,而不是列表项的项目符号。
将来可能会扩展以指定其他类型的段落装饰。
参阅
- __init__(fmt)#
- 参数:
fmt -
QTextFormat
- __init__()
构造一个新的
QTextBlockFormat。- alignment()#
- 返回类型:
AlignmentFlag的组合
返回段落的对齐方式。
- bottomMargin()#
- 返回类型:
浮点数
返回段落的底部边距。
- headingLevel()#
- 返回类型:
整型
如果段落是标题段落,则返回段落的标题级别或0(如果没有标题级别)。
- indent()#
- 返回类型:
整型
返回段落的缩进。
参阅
- leftMargin()#
- 返回类型:
浮点数
返回段落的左边距。
- lineHeight()#
- 返回类型:
浮点数
返回段落行高的LineHeight属性。
- lineHeight(scriptLineHeight, scaling)
- 参数:
scriptLineHeight – 浮点数
scaling – 浮点数
- 返回类型:
浮点数
基于由
scriptLineHeight提供的脚本行高和指定的scaling缩放因子,返回段落中行的高度。返回的值还取决于段落的LineHeightType以及已为段落设置的LineHeight。
对于包括固定像素数的行高,需要进行缩放以便适应打印。
- lineHeightType()#
- 返回类型:
整型
返回段落的LineHeightType属性。
如果设置了段落标记,则返回段落的标记,否则返回
NoMarker。参阅
- nonBreakableLines()#
- 返回类型:
布尔值
如果段落的行不可断行,则返回
true,否则返回false。- pageBreakPolicy()#
- 返回类型:
PageBreakFlag的组合
返回段落当前设置的页面分页策略。默认是
PageBreak_Auto。- rightMargin()#
- 返回类型:
浮点数
返回段落的右侧页边距。
- setAlignment(alignment)#
- 参数:
alignment –
AlignmentFlag的组合
设置段落的对齐方式。
参阅
- 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)#
- 参数:
marker –
MarkerType
将要与段落一起渲染的装饰类型设置为
marker。例如,一个列表项可以被复选框装饰,无论是勾选还是未勾选,以替换其项目符号。默认为NoMarker。参阅
- 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()
- 返回段落的文本缩进。
- 返回类型:
浮点数
getTextIndent()
- 返回段落的顶部边距。
- 返回类型:
浮点数
getTopMargin()