1

我正在使用 PySide2 包,发现它overwriteMode在我的代码中不起作用。这是我写的:

self.ui.textBrowser.setOverwriteMode(True)
self.ui.textBrowser.insertPlainText('test1\ntest2\ntest3')
self.ui.textBrowser.moveCursor(QTextCursor.Start)
self.ui.textBrowser.insertPlainText('hhh')

完整的源代码

我使用 Qt-Creator 来设计我的 GUI,我的 QTextBrowser 设置如下所示:

QTextBrowser 设置

我得到以下输出:

输出

如您所见,第一行应该是“hhht1”,但它给出了“hhhtest1”。

我正在 Windows 10 上使用 PySide2 版本 5.11.2 对此进行测试。

我是 Qt 新手,谁能帮帮我?我错过了什么?谢谢!

4

1 回答 1

0

根据该物业的文件:overwriteMode

此属性保存用户输入的文本是否会覆盖现有文本

与许多文本编辑器一样,文本编辑器小部件可以配置为使用用户输入的新文本插入或覆盖现有文本。

显然,仅影响用户overwriteMode输入的文本。

您可能需要执行以下操作:

text = 'test1\ntest2\ntest3'
self.ui.textBrowser.setPlainText(text)
inserted_text = 'hhh'
text = inserted_text + text[len(inserted_text):]
self.ui.textBrowser.setPlainText(text)
于 2019-02-05T12:44:10.983 回答