pyqt5-QPlainTextEdit搜索和标记

搜索功能:根据子字符串,在QPlaintTextEdit组件获取的纯文本中搜索,生成索引list。然后根据索引进行跳转

标记功能:QPlainTextEdit组件中选择文本,设置为标记,记录索引。然后根据html显示

 

两种标记方案:

光标跳转和选择

  • 不会改变文本内容
  • 可以快速查看某一个项

html标记

  • 会改变文本域内容
  • 可以查看全部项
  • 一次性渲染效果,运算相对较大

对于标记来说,偏向后者,需要尽量实时查看自己的标记记录。对于搜索来说,两种均可,最好是同时使用。

 

一个希望的场景是,日志功能或者请求功能,切换输出时,自动根据文本框内容进行搜索并标记。

(1)

简单的来说,就是只使用光标跳转和选择。当文本发生变化时,自动执行搜索方法

(2)

如果想使用html标记,那么就不能使用文本变化事件。而应该由引起变化的方法,同时调用搜索方法

因此,不再支持手动编辑的同步搜索

但是,反过来说,两种标记方法无论何种时,手动编辑,都会导致记录的索引与实际文本失真

posted @ 2023-07-02 04:30  挖洞404  阅读(253)  评论(0编辑  收藏  举报