- class QTextBoundaryFinder#
QTextBoundaryFinder
类提供了一种方法来查找字符串中的Unicode文本边界。更多信息...概要#
方法#
def
__init__()
def
isAtBoundary()
def
isValid()
def
position()
def
setPosition()
def
string()
def
toEnd()
def
toNextBoundary()
定义
toStart()
定义
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/)。
字符串中的第一个位置始终是一个有效边界,指的是第一个字符之前的位置。字符串长度处的最后一个位置也是有效的,指的是最后一个字符之后的职位。
- 类 BoundaryType#
常数
描述
QTextBoundaryFinder.Grapheme
查找最小的边界图形。它包括字母、标点符号、数字等。
QTextBoundaryFinder.Word
查找单词。
QTextBoundaryFinder.Line
查找文本分多行可能的position。
QTextBoundaryFinder.Sentence
查找句子边界。这包括句号、问号等。
- 类 BoundaryReason#
常数
描述
QTextBoundaryFinder.NotAtBoundary
(继承自
enum.Flag
)边界查找器不在边界位置。QTextBoundaryFinder.BreakOpportunity
边界查找器在一个断开机会位置。这种断开机会也可能是一个项边界(无论是StartOfItem、EndOfItem还是两者的组合),强制换行,或者软破折号。
QTextBoundaryFinder.StartOfItem
边界查找器位于一个字符、单词、句子或行的开始处。
QTextBoundaryFinder.EndOfItem
边界查找器位于一个字符、单词、句子或行的末尾。
QTextBoundaryFinder.MandatoryBreak
边界查找器位于行末(仅适用于Line边界类型)。
QTextBoundaryFinder.SoftHyphen
边界查找器位于软连字符位置(仅适用于Line边界类型)。
- __init__()#
构造一个无效的
QTextBoundaryFinder
对象。- __init__(type, str[, buffer=None[, bufferSize=0]])
- 参数:
type –
BoundaryType
str – 字符串
buffer –
unsigned char
bufferSize – 整数
创建一个
QTextBoundaryFinder
对象,操作类型为type
,处理str
字符串。buffer
是一个可选的工作缓冲区,大小为bufferSize
,可以传递给QTextBoundaryFinder
。如果缓冲区足够大,可以容纳所需的工作数据(bufferSize >= 长度 + 1),它将使用此缓冲区而不是分配自己的缓冲区。警告
QTextBoundaryFinder
不会创建string
的副本。确保数组在QTextBoundaryFinder
对象存活期间已分配的职责属于应用程序程序员。同样适用于buffer
。- __init__(type, string)
- 参数:
type –
BoundaryType
string – 字符串
创建一个
QTextBoundaryFinder
对象,操作类型为type
,处理str
字符串。- __init__(other)
- 参数:
other –
QTextBoundaryFinder
复制
QTextBoundaryFinder
对象,即other
。- boundaryReasons()#
- 返回类型:None
返回边界查找器选择当前位置作为边界的原因。
- isAtBoundary()#
- 返回类型:None
bool
如果对象的
position()
当前位于有效的文本边界,则返回true
。- isValid()#
- 返回类型:None
bool
如果文本边界查找器有效,则返回
true
;否则返回false
。默认的QTextBoundaryFinder
是无效的。- position()#
- 返回类型:None
int
返回
QTextBoundaryFinder
的当前位置。范围是从 0(字符串的开始)到字符串的长度(包括)。
另请参阅
- setPosition(position)#
- 参数:
position – int
将
QTextBoundaryFinder
的当前位置设置为position
。如果
position
超出范围,它将被绑定到仅有的有效位置。在这种情况下,有效位置是从 0 到字符串长度(包括)。另请参阅
- string()#
- 返回类型:None
str
返回
QTextBoundaryFinder
对象正在操作的字符串。- toEnd()#
将查找器移动到字符串的末尾。这等效于
setPosition
(string.length())。另请参阅
- toNextBoundary()#
- 返回类型:None
int
将
QTextBoundaryFinder
移动到下一个边界位置并返回该位置。如果没有下一个边界,则返回 -1。
- toPreviousBoundary()#
- 返回类型:None
int
将
QTextBoundaryFinder
移动到上一个边界位置并返回该位置。如果没有上一个边界,则返回 -1。
- toStart()#
将找到器移动到字符串的开始位置。这相当于
setPosition
(0)。另请参阅
- type()#
- 返回类型:None
返回
QTextBoundaryFinder
的类型。