class QTextBlock#

QTextBlock 类用于在 QTextDocument 中存放文本片段。 更多...

概要#

方法#

备注

本文档可能包含自动从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)#
参数列表:

oQTextBlock

将该文本块的其它属性复制到此文本块。

__init__()
__iter__()#
返回类型:

对象

begin()#
返回类型:

迭代器

返回指向文本块开始的文本块迭代器。

另请参阅

end()

blockFormat()#
返回类型:

QTextBlockFormat

返回描述块特定属性的 QTextBlockFormat

另请参阅

charFormat()

blockFormatIndex()#
返回类型:

int

返回文档内部块的格式列表中,文本块格式的索引。

另请参阅

allFormats()

blockNumber()#
返回类型:

int

返回该块的编号,如果块无效则返回 -1。

另请参阅

blockNumber()

charFormat()#
返回类型:

QTextCharFormat

返回描述块字符格式的 QTextCharFormat。当向空块插入文本时使用块的字符格式。

另请参阅

blockFormat()

charFormatIndex()#
返回类型:

int

返回文档内部字符格式列表中文本块字符格式的索引。

另请参阅

allFormats()

clearLayout()#

清除用于布局和显示块内容的 QTextLayout

另请参阅

layout()

contains(position)#
参数列表:

**position** – int

返回类型:

bool

如果给定的 position 位于文本块内,则返回 true;否则返回 false

document()#
返回类型:

QTextDocument

返回此文本块所属的文本文档,如果文本块不属于任何文档,则返回 None

end()#
返回类型:

迭代器

返回一个指向文本块末尾的文本块迭代器。

另请参阅

begin() next() previous()

firstLineNumber()#
返回类型:

int

返回此块的第一个行号,如果块无效则返回 -1。除非布局支持,否则行号与块号相同。

另请参阅

blockNumber()

fragmentIndex()#
返回类型:

int

isValid()#
返回类型:

bool

如果此文本块有效,则返回 true;否则返回 false

isVisible()#
返回类型:

bool

如果块可见,则返回 true;否则返回 false

另请参阅

setVisible()

layout()#
返回类型:

QTextLayout

返回用于布局和显示块内容的 QTextLayout

请注意,返回的 QTextLayout 对象只能从 QAbstractTextDocumentLayout 子类的 documentChanged 实现中进行修改。任何从外部应用的变化都会导致未定义的行为。

另请参阅

clearLayout()

length()#
返回类型:

int

返回区块的字符长度。

备注

返回的长度包括所有格式字符,例如换行。

lineCount()#
返回类型:

int

返回行数。并非所有文档布局都支持此功能。

另请参阅

setLineCount()

next()#
返回类型:

QTextBlock

返回此区块后面的文档中的文本区块,或者如果这是最后一个区块,则返回一个空文本区块。

请注意,下一个区块可能位于与此区块不同的框架或表格中。

另请参阅

previous() begin() end()

__ne__(o)#
参数列表:

oQTextBlock

返回类型:

bool

如果此文本区块与另一个文本区块不同,返回 true

__lt__(o)#
参数列表:

oQTextBlock

返回类型:

bool

如果此文本区块在文档中出现在另一个文本区块之前,返回 true

__eq__(o)#
参数列表:

oQTextBlock

返回类型:

bool

如果此文本区块与另一个文本区块相同,返回 true

position()#
返回类型:

int

返回区块首个字符在文档中的索引。

previous()#
返回类型:

QTextBlock

返回本段文本之前的文本块,或者若这是第一个文本块,则返回一个空文本块。

请注意,前面的文本块可能与本块处于不同的框架或表格中。

另请参阅

返回类型:

int

返回文本块的修订。

另请参阅

参数列表:

将行数设置为 count

另请参阅

lineCount()

参数列表:

将文本块的修订设置为 rev

另请参阅

参数列表:

将给定的 data 对象附加到文本块。

例如,如果您在IDE中编写编程编辑器,您可能希望允许用户在代码中视觉上设置断点,以便集成调试器。在编程编辑器中,一行文本通常对应一个 QTextBlockQTextBlockUserData 接口允许开发者为每个 QTextBlock 存储数据,例如,用户在哪些源代码行设置了断点等。当然,这也可以在外部存储,但将数据存储在 QTextDocument 内,例如,当用户删除相关行时,将自动删除。这实际上只是一个在 QTextDocument 中存储自定义信息的方法,而不使用会使撤销/重做堆栈受到影响的自定义属性。

另请参阅

userData()

setUserState(state)#
参数列表:

state – int

将指定的 state 整数值存储在文本块中。这在例如语法高亮器中存储文本解析状态可能很有用。

另请参阅

userState()

setVisible(visible)#
参数列表:

visible – bool

将块的可见性设置为 visible

另请参阅

isVisible()

text()#
返回类型:

str

返回块的纯文本文本内容。

textDirection()#
返回类型:

LayoutDirection

返回已解析的文本方向。

如果没有为块显式设置方向,则将从块内容中解析方向。返回 either Qt::LeftToRight 或 Qt::RightToLeft。

另请参阅

layoutDirection() LayoutDirection

textFormats()#
返回类型:

返回文本块格式选项的列表,列表为连续的QTextCharFormat范围。

范围字符格式用于在范围边界内插入文本。

另请参阅

相关函数:charFormat()blockFormat()

textList()#
返回类型:

QTextList

如果块表示一个列表项,返回该项所属的列表;否则返回None。

userData()#
返回类型:

QTextBlockUserData

如果已使用 setUserData() 设置了 QTextBlockUserData 对象,则返回指向该对象的指针,否则返回None。

另请参阅

setUserData()

userState()#
返回类型:

int

返回先前使用 setUserState() 设置的整数值或-1。

另请参阅

setUserState()