0

每次发出 textChanged() 时,都会处理 QTextBrowser 的文本,然后将其重新插入到该 QTextBrowser 中。这会导致当前光标出现问题。

在 | 输入内容后,我该怎么做?并重新插入文本,光标在新插入的字符后面(这里:X)?

Hello| World

它应该在哪里:

HelloX| World

在哪儿:

|HelloX World

我需要一些帮助,因为我不理解 QT 文档的相应部分。

4

1 回答 1

0

如果您在光标之后插入文本,正如您的示例所建议的那样,您应该使用文本光标的insertText方法而不是替换编辑器的全部内容 - 应该会为您节省一些麻烦:

editor.textCursor().insertText('X')

否则,您应该能够像这样恢复以前的位置:

old_position = editor.textCursor().position()
# ...
new_cursor = editor.textCursor()
new_cursor.setPosition(old_position)
editor.setTextCursor(cursor)
于 2013-07-16T15:09:28.630 回答