- class QTextBlock#
QTextBlock
类用于在QTextDocument
中存放文本片段。 更多...概要#
方法#
def
__init__()
def
__iter__()
def
begin()
def
blockFormat()
def
blockNumber()
def
charFormat()
def
clearLayout()
def
contains()
def
document()
def
end()
定义
isValid()
定义
isVisible()
定义
layout()
定义
length()
定义
lineCount()
定义
next()
定义
__ne__()
定义
__lt__()
定义
__eq__()
定义
position()
定义
previous()
定义
revision()
定义
setVisible()
定义
text()
定义
textList()
定义
userData()
定义
userState()
备注
本文档可能包含自动从C++转换为Python的代码片段。我们始终欢迎对片段翻译的贡献。如果您发现翻译有问题,也可以通过在https:/bugreports.qt.io/projects/PYSIDE创建工单来告诉我们
详细描述#
文本块用于封装
QTextDocument
中的一个文本块或段落。/QTextBlock
提供了对QTextDocument
的块/段落结构的只读访问。如果您想为您自己的布局实现QTextDocument
的视觉表示,或者想要遍历文档并以您自己的自定义格式写入内容,那么它将非常有用。文本块由它们的父文档创建。如果您需要创建一个新的文本块,或在检查文档内容的同时修改文档的内容,请使用由
QTextCursor
提供的基于光标的接口。每个文本块在
position()
位置位于document()
中。可以通过使用text()
函数来获取块的文本内容。使用length()
函数确定块在文档中的大小(包括格式化字符)。块的可视属性由其文本layout()
,它的charFormat()
和其blockFormat()
决定。next()
和previous()
函数允许在迭代过程中文档未被其他方式修改的条件下,迭代文档中连续有效的块。请注意,尽管块按照顺序返回,相邻的块可能来自文档结构的不同地方。可以通过调用isValid()
确定块的有效性。QTextBlock
提供比较运算符以方便处理块:operator==()
比较两个块的相等性,operator!=()
比较两个块的差异性,以及operator
判断一个块是否在同一个文档中先于另一个块。- __init__(o)#
- 参数列表:
o –
QTextBlock
将该文本块的其它属性复制到此文本块。
- __init__()
- __iter__()#
- 返回类型:
对象
- begin()#
- 返回类型:
迭代器
返回指向文本块开始的文本块迭代器。
另请参阅
- blockFormat()#
- 返回类型:
返回描述块特定属性的
QTextBlockFormat
。另请参阅
- blockFormatIndex()#
- 返回类型:
int
返回文档内部块的格式列表中,文本块格式的索引。
另请参阅
- blockNumber()#
- 返回类型:
int
返回该块的编号,如果块无效则返回 -1。
另请参阅
- charFormat()#
- 返回类型:
返回描述块字符格式的
QTextCharFormat
。当向空块插入文本时使用块的字符格式。另请参阅
- charFormatIndex()#
- 返回类型:
int
返回文档内部字符格式列表中文本块字符格式的索引。
另请参阅
- clearLayout()#
清除用于布局和显示块内容的
QTextLayout
。另请参阅
- contains(position)#
- 参数列表:
**position** – int
- 返回类型:
bool
如果给定的
position
位于文本块内,则返回true
;否则返回false
。- document()#
- 返回类型:
返回此文本块所属的文本文档,如果文本块不属于任何文档,则返回
None
。- end()#
- 返回类型:
迭代器
返回一个指向文本块末尾的文本块迭代器。
另请参阅
- firstLineNumber()#
- 返回类型:
int
返回此块的第一个行号,如果块无效则返回 -1。除非布局支持,否则行号与块号相同。
另请参阅
- fragmentIndex()#
- 返回类型:
int
- isValid()#
- 返回类型:
bool
如果此文本块有效,则返回
true
;否则返回false
。- isVisible()#
- 返回类型:
bool
如果块可见,则返回
true
;否则返回false
。另请参阅
- layout()#
- 返回类型:
返回用于布局和显示块内容的
QTextLayout
。请注意,返回的
QTextLayout
对象只能从QAbstractTextDocumentLayout
子类的 documentChanged 实现中进行修改。任何从外部应用的变化都会导致未定义的行为。另请参阅
- length()#
- 返回类型:
int
返回区块的字符长度。
- lineCount()#
- 返回类型:
int
返回行数。并非所有文档布局都支持此功能。
另请参阅
- next()#
- 返回类型:
返回此区块后面的文档中的文本区块,或者如果这是最后一个区块,则返回一个空文本区块。
请注意,下一个区块可能位于与此区块不同的框架或表格中。
另请参阅
- __ne__(o)#
- 参数列表:
o –
QTextBlock
- 返回类型:
bool
如果此文本区块与另一个文本区块不同,返回
true
。- __lt__(o)#
- 参数列表:
o –
QTextBlock
- 返回类型:
bool
如果此文本区块在文档中出现在另一个文本区块之前,返回
true
。- __eq__(o)#
- 参数列表:
o –
QTextBlock
- 返回类型:
bool
如果此文本区块与另一个文本区块相同,返回
true
。- position()#
- 返回类型:
int
返回区块首个字符在文档中的索引。
- previous()#
- 返回类型:
返回本段文本之前的文本块,或者若这是第一个文本块,则返回一个空文本块。
请注意,前面的文本块可能与本块处于不同的框架或表格中。
另请参阅
- 返回类型:
int
返回文本块的修订。
另请参阅
- 参数列表:
将行数设置为
count
。另请参阅
- 参数列表:
将文本块的修订设置为
rev
。另请参阅
- 参数列表:
将给定的
data
对象附加到文本块。例如,如果您在IDE中编写编程编辑器,您可能希望允许用户在代码中视觉上设置断点,以便集成调试器。在编程编辑器中,一行文本通常对应一个
QTextBlock
。QTextBlockUserData
接口允许开发者为每个QTextBlock
存储数据,例如,用户在哪些源代码行设置了断点等。当然,这也可以在外部存储,但将数据存储在QTextDocument
内,例如,当用户删除相关行时,将自动删除。这实际上只是一个在QTextDocument
中存储自定义信息的方法,而不使用会使撤销/重做堆栈受到影响的自定义属性。另请参阅
- setUserState(state)#
- 参数列表:
state – int
将指定的
state
整数值存储在文本块中。这在例如语法高亮器中存储文本解析状态可能很有用。另请参阅
- setVisible(visible)#
- 参数列表:
visible – bool
将块的可见性设置为
visible
。另请参阅
- text()#
- 返回类型:
str
返回块的纯文本文本内容。
- textDirection()#
- 返回类型:
返回已解析的文本方向。
如果没有为块显式设置方向,则将从块内容中解析方向。返回 either Qt::LeftToRight 或 Qt::RightToLeft。
另请参阅
layoutDirection()
LayoutDirection
- textFormats()#
- 返回类型:
返回文本块格式选项的列表,列表为连续的
QTextCharFormat
范围。
范围字符格式用于在范围边界内插入文本。
另请参阅
如果块表示一个列表项,返回该项所属的列表;否则返回None。
- userData()#
- 返回类型:
如果已使用
setUserData()
设置了QTextBlockUserData
对象,则返回指向该对象的指针,否则返回None。另请参阅
- userState()#
- 返回类型:
int
返回先前使用
setUserState()
设置的整数值或-1。另请参阅