大文件编辑器(QT)

项目需要做一个大文件编辑器,并对文件中特定的字符串进行高亮显示,尝试过几种方式。这里的大文件是指>=几百兆的文件。

一 综述实现方式

方式1 用普通的QTextEdit来分段加载显示文本,当单段文本显示完毕并且继续向下拖动滚动条时,才加载显示下一段文本;同时搭配使用QSyntexHeighlighter来进行高亮。

方式2 集成QSciscintilla编辑器,并利用词法编辑器来进行高亮。

二 优缺点

方式1,分段加载的方式会使搜索等针对全文本的操作逻辑变得复杂,且当文本很大时,使用QSyntexHeighlighter来做高亮,会降低大文件的加载速度。(分析了下,似乎因为QSyntexHeighlighter底层采用正则的方式来匹配字符串,从而拖慢速度。)

方式2,简单,但需要掌握QSciscintilla编辑器及词法器的使用方法。

备注:

1 append的效率比insert高;

2 但append会自动插入换行符;需写逻辑取消

相关推荐
三天不学习9 小时前
Cursor vs Trae vs VSCode:2025终极IDE横评,谁才是开发者的效率之选?
ide·vscode·编辑器
深蓝海拓11 小时前
PySide6从0开始学习的笔记(三) 布局管理器与尺寸策略
笔记·python·qt·学习·pyqt
꧁坚持很酷꧂12 小时前
Windows安装Qt Creator5.15.2(图文详解)
开发语言·windows·qt
淼淼76313 小时前
QT表格与数据
开发语言·qt
小灰灰搞电子14 小时前
Qt 实现炫酷锁屏源码分享
开发语言·qt·命令模式
追烽少年x15 小时前
Qt面试题合集(二)
qt
jiayong2315 小时前
Markdown编辑完全指南
java·编辑器
零小陈上(shouhou6668889)16 小时前
YOLOv8+PyQt5玉米病害检测系统(yolov8模型,从图像、视频和摄像头三种路径识别检测)
python·qt·yolo
蓝天智能16 小时前
QT实战:qrc资源动态加载
qt
四维碎片17 小时前
【Qt】生产者-消费者模式学习笔记
笔记·qt·学习