HTMLを使用したqtexteditで、マウスホイールを介してフォントサイズを変更しています。+1 や -1 など、各文字のサイズを変更する必要があります。ゆっくりと動作しますが、動作します。問題は、html リスト (QTextCursor.createList() で作成) のサイズを変更した場合です。写真でわかるように、サイズ変更後の「テスト」は、(意図したとおり) 常に同じ位置から開始されますが、黒い点が移動します。テキストがどんなに大きくても、同じ位置にとどまることを望みます。私はそれを行う方法がわかりません。私はすでにsetMarging、setIndent、setTextIndentを試しました...
def change_fontsize(self, direction):
cur=self.textedit.textCursor()
oldPosition=cur.position()
if cur.hasSelection():
begin=cur.anchor()
end=cur.position()
if begin>end:
helper=end
end=begin
begin=helper
else:
cur.select(QTextCursor.Document)
begin=0
plainText=self.textedit.toPlainText()
end=len(plainText)
for i in range(begin,end):
cur.setPosition(i)
cur.movePosition(QTextCursor.NextCharacter, QTextCursor.KeepAnchor)
fmt=cur.charFormat()
charSize=fmt.fontPointSize()
if direction=="up":
fmt.setFontPointSize(charSize+1)
else:
fmt.setFontPointSize(charSize-1)
cur.mergeCharFormat(fmt)