pyqt5-QPlainTextEdit搜索和标记
搜索功能:根据子字符串,在QPlaintTextEdit组件获取的纯文本中搜索,生成索引list。然后根据索引进行跳转
标记功能:QPlainTextEdit组件中选择文本,设置为标记,记录索引。然后根据html显示
两种标记方案:
光标跳转和选择
- 不会改变文本内容
- 可以快速查看某一个项
html标记
- 会改变文本域内容
- 可以查看全部项
- 一次性渲染效果,运算相对较大
对于标记来说,偏向后者,需要尽量实时查看自己的标记记录。对于搜索来说,两种均可,最好是同时使用。
一个希望的场景是,日志功能或者请求功能,切换输出时,自动根据文本框内容进行搜索并标记。
(1)
简单的来说,就是只使用光标跳转和选择。当文本发生变化时,自动执行搜索方法
(2)
如果想使用html标记,那么就不能使用文本变化事件。而应该由引起变化的方法,同时调用搜索方法
因此,不再支持手动编辑的同步搜索
但是,反过来说,两种标记方法无论何种时,手动编辑,都会导致记录的索引与实际文本失真