1

在带有 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)
4

0 回答 0