我有一个用于我编写的建模语言的小型 IDE,在 PyQt/PySide 中实现,并且正在尝试实现一个代码导航器,让您可以跳转到正在编辑的文件中的不同部分。
当前的实现是:(1)连接到 QPlainTextEditor.textChanged,(2)任何时候进行更改,(草率地)解析文件并更新导航器窗格
它似乎工作正常,但我担心这可能会导致较慢系统上的大文件出现重大性能问题,特别是如果将来有更多内容连接到 textChanged。
我的问题:这里有没有人实现了对事件的延迟反应,以便在短时间内多个事件(即击键)只触发一次更新(比如每秒一次)?有没有合适的 QT 方式来做到这一点?
谢谢,迈克尔