python - Pyside2 QTextBrowser overwriteMode 不替换旧文本
问题描述
我正在使用 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 新手,谁能帮帮我?我错过了什么?谢谢!
解决方案
根据该物业的文件: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)
推荐阅读
- search - 如何从我的自定义搜索对话框触发 codemirror 搜索
- pandas - Excel二进制日期字段转换为numpy int64
- java - 提高 Springboot 中同步 SOAP API 的性能
- swift - 如何在注释下添加标题?
- python - TypeError:无法对切片索引
使用这些索引器 [2] - flutter - 带有fastlane和match的ios/android颤振应用程序的工作流程CICD gitlab
- php - 当响应返回状态为 104(但适用于状态 200)时,Laravel 7 在访问外部 api 时给出 500 错误
- java - 如何获取下面指示的节点的子节点数?
- azure - Istio 多集群复制控制平面:HTTP/1.1 503 Service Unavailable
- c++ - ADsOpenObject 与 ADS_USE_SSL 绑定不成功