我正在使用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的设置如下所示:
我得到以下输出:
如您所见,第一行应为“ hhht1”,但其为“ hhhtest1”。
我正在Windows 10上使用PySide2版本5.11.2对此进行测试。
我是Qt的新手,有人可以帮助我吗?我想念什么?谢谢!
答案 0 :(得分:0)
根据overwriteMode
属性的documentation:
此属性保存用户输入的文本是否将覆盖现有文本
与许多文本编辑器一样,可以将文本编辑器小部件配置为使用用户输入的新文本来插入或覆盖现有文本。
显然,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)