我有一个带有以下句子的文件。“Mon frère aîné”我通过 QTextCursor 获取每个字符。
from PySide6 import QtWidgets, QtGui
import os, sys, PySide6
dirname = os.path.dirname(PySide6.__file__)
plugin_path = os.path.join(dirname, 'plugins', 'platforms')
os.environ['QT_QPA_PLATFORM_PLUGIN_PATH'] = plugin_path
doc = QtGui.QTextDocument()
step = 0
doc.setPlainText("Mon frère aîné")
for num, sen in enumerate("Mon frère aîné"):
tc = QtGui.QTextCursor(doc)
can_move = tc.movePosition(tc.NextCharacter, tc.MoveAnchor, step+1)
if can_move:
tc.movePosition(tc.PreviousCharacter, tc.KeepAnchor, 1)
print(tc.selectedText(), num, sen)
step += 1
结果:M 0 M
o 1 o
n 2 n
3
f 4 f
r 5 r
6个
r 7 r
e 8 e
9
一个 10 个
î 11 i(这里)
n 12 ̂ (这里)
é 13 n(这里)
QTextCursor 可以得到两个字符的组合 unicode "î" 作为一个字符,另一方面,python 序列区分 "i" 和 "^" 之间的两个字符。
我怎样才能使两者之间发生巧合?