- 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()函数访问的列表格式。
参阅
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
显示已勾选的复选框,而不是列表项的项目符号。
将来可能会扩展以指定其他类型的段落装饰。
参阅
- __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()