PySide6.QtCore.QTextBoundaryFinder¶
- class QTextBoundaryFinder¶
QTextBoundaryFinder
类提供了一种在字符串中查找Unicode文本边界的方法。更多…概要¶
方法¶
def
__init__()
def
isAtBoundary()
def
isValid()
def
position()
def
setPosition()
def
string()
def
toEnd()
def
toNextBoundary()
def
toStart()
def
type()
注意
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。
详细描述¶
QTextBoundaryFinder
允许根据Unicode文本边界规范在字符串中查找Unicode文本边界(参见 Unicode标准附录#14 和 Unicode标准附录#29 )。QTextBoundaryFinder
可以根据BoundaryType
的值在四种可能的模式下操作QString
。构成用户认为是字符或语言基本单位的Unicode字符单位在这里被称为字形簇。例如,两个Unicode字符‘A’ + 分音符形成一个字形簇,因为用户将它们视为一个字符,但在这种情况下,它由两个Unicode代码点表示(参见https://www.unicode.org/reports/tr29/#Grapheme_Cluster_Boundaries)。
单词边界用于定位语言中认为是一个单词的开始和结束(参见 https://www.unicode.org/reports/tr29/#Word_Boundaries )。
换行边界给出了可能发生换行的位置,而句子边界将显示整个句子的开始和结束(参见 https://www.unicode.org/reports/tr29/#Sentence_Boundaries 和 https://www.unicode.org/reports/tr14/ )。
字符串中的第一个位置始终是一个有效的边界,指的是第一个字符之前的位置。字符串长度的最后一个位置也是有效的,指的是最后一个字符之后的位置。
- class BoundaryType¶
常量
描述
QTextBoundaryFinder.Grapheme
查找一个最小的边界单位,称为字素。它包括字母、标点符号、数字等。
QTextBoundaryFinder.Word
查找一个单词。
QTextBoundaryFinder.Line
查找将文本分成多行的可能位置。
QTextBoundaryFinder.Sentence
查找句子边界。这些包括句号、问号等。
- class BoundaryReason¶
常量
描述
QTextBoundaryFinder.NotAtBoundary
(继承自
enum.Flag
) 边界查找器不在边界位置。QTextBoundaryFinder.BreakOpportunity
边界查找器位于一个断点机会位置。这样的断点机会可能也是一个项目边界(StartOfItem、EndOfItem 或两者的组合)、强制换行或软连字符。
QTextBoundaryFinder.StartOfItem
边界查找器位于一个字形、一个单词、一个句子或一行的开始。
QTextBoundaryFinder.EndOfItem
边界查找器位于一个字形、一个单词、一个句子或一行的末尾。
QTextBoundaryFinder.MandatoryBreak
边界查找器位于行尾(仅适用于行边界类型)。
QTextBoundaryFinder.SoftHyphen
边界查找器位于软连字符处(仅适用于行边界类型)。
- __init__()¶
构造一个无效的
QTextBoundaryFinder
对象。- __init__(other)
- Parameters:
其他 –
QTextBoundaryFinder
复制
QTextBoundaryFinder
对象,other
。- __init__(type, string)
- Parameters:
type –
BoundaryType
字符串 – str
创建一个
QTextBoundaryFinder
对象,该对象在string
上操作,类型为type
。- __init__(type, str[, buffer=None[, bufferSize=0]])
- Parameters:
type –
BoundaryType
str – str
buffer –
unsigned char
bufferSize – int
创建一个
QTextBoundaryFinder
对象,该对象在string
上操作,类型为type
。buffer
是一个可选的工作缓冲区,大小为bufferSize
,你可以将其传递给QTextBoundaryFinder
。如果缓冲区足够大以容纳所需的工作数据(bufferSize >= length + 1),它将使用此缓冲区而不是分配自己的缓冲区。警告
QTextBoundaryFinder
不会创建string
的副本。应用程序程序员有责任确保数组在QTextBoundaryFinder
对象存活期间保持分配状态。同样适用于buffer
。- boundaryReasons()¶
- Return type:
BoundaryReason
的组合
返回边界查找器选择当前位置作为边界的原因。
- isAtBoundary()¶
- Return type:
布尔
如果对象的
position()
当前位于有效的文本边界,则返回true
。- isValid()¶
- Return type:
布尔
如果文本边界查找器有效,则返回
true
;否则返回false
。默认的QTextBoundaryFinder
是无效的。- position()¶
- Return type:
整数
返回
QTextBoundaryFinder
的当前位置。范围从0(字符串的开头)到字符串的长度(包括在内)。
另请参阅
- setPosition(position)¶
- Parameters:
position – int
将
QTextBoundaryFinder
的当前位置设置为position
。如果
position
超出范围,它将被限制在有效的位置内。在这种情况下,有效的位置是从0到字符串的长度(包括)。另请参阅
- string()¶
- Return type:
字符串
返回
QTextBoundaryFinder
对象操作的字符串。- toEnd()¶
将查找器移动到字符串的末尾。这相当于
setPosition
(string.length())。另请参阅
- toNextBoundary()¶
- Return type:
整数
将
QTextBoundaryFinder
移动到下一个边界位置并返回该位置。如果没有下一个边界,则返回-1。
- toPreviousBoundary()¶
- Return type:
整数
将
QTextBoundaryFinder
移动到前一个边界位置并返回该位置。如果没有前一个边界,则返回-1。
- toStart()¶
将查找器移动到字符串的开头。这相当于
setPosition
(0)。另请参阅
- type()¶
- Return type:
返回
QTextBoundaryFinder
的类型。