Pyside2 QTextBrowser overwriteMode不会取代旧的文本

问题描述 投票:1回答: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')

Complete source code

我使用Qt的造物主设计我的GUI和我的设置为QTextBrowser看起来像这样:

QTextBrowser settings

我得到了以下的输出:

Output

正如你可以看到,第一行应该是“hhht1”,但它给“hhhtest1”。

我与PySide2版本5.11.2在Windows 10测试这个。

我是新来QT和任何人都可以请帮我吗?我在想什么?谢谢!

python qt pyside2 qtextbrowser
1个回答
0
投票

按照documentation财产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)
© www.soinside.com 2019 - 2024. All rights reserved.