我使用的是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的造物主设计我的GUI和我的设置为QTextBrowser看起来像这样:
我得到了以下的输出:
正如你可以看到,第一行应该是“hhht1”,但它给“hhhtest1”。
我与PySide2版本5.11.2在Windows 10测试这个。
我是新来QT和任何人都可以请帮我吗?我在想什么?谢谢!
按照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)