Pyside2 QTextBrowser overwriteMode 不替换旧文本
Pyside2 QTextBrowser overwriteMode does not replace old text
我正在使用 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-Creator 设计了我的 GUI,我对 QTextBrowser 的设置如下所示:
QTextBrowser settings
我得到以下输出:
Output
如您所见,第一行应该是 'hhht1' 但它给出了 'hhhtest1'。
我正在 Windows 10 上使用 PySide2 版本 5.11.2 对此进行测试。
我是 Qt 的新手,有人可以帮助我吗?我错过了什么?谢谢!
根据documentation的overwriteMode
属性:
This property holds whether text entered by the user will overwrite existing text
As with many text editors, the text editor widget can be configured to insert or overwrite existing text with new text entered by the user.
显然 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)
我正在使用 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-Creator 设计了我的 GUI,我对 QTextBrowser 的设置如下所示:
QTextBrowser settings
我得到以下输出:
Output
如您所见,第一行应该是 'hhht1' 但它给出了 'hhhtest1'。
我正在 Windows 10 上使用 PySide2 版本 5.11.2 对此进行测试。
我是 Qt 的新手,有人可以帮助我吗?我错过了什么?谢谢!
根据documentation的overwriteMode
属性:
This property holds whether text entered by the user will overwrite existing text
As with many text editors, the text editor widget can be configured to insert or overwrite existing text with new text entered by the user.
显然 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)