标题:QT 简单文本编辑器-语法高亮,代码补全,高亮当前行,行号显示
作者:wllw7176
日期:2018-07-28 21:19
内容:
Based on Qt 5.7.0 (MSVC 2013, 32 bit) 编译器:Mingw
简单的文本编辑器,主要实现了如下功能:
1.行号显示及高亮当前行(集成CodeEditorExmaple qt自带例子)
2.文本动态补全
3.关键字高亮
文本自动补全与语法高亮功能可以指定语法高亮文件,这个在资源文件添加对应的语法高亮文件就行了,目前实现了简单的c语言的语法高亮及自动补全。
语法高亮文件格式如下:
$$keyword rg b//注释行 $$开头
auto 21212204 //关键字 r,g,b关键字原色值
#1 [liuchangyin 07-29 09:07]
#2 [dansir 07-29 15:03]
#3 [yangyu52009 07-29 21:31]
#4 [newbe 07-30 17:04]
还不错,有两个不怎么好的地方反馈一下:
1. int是高亮关键字,但是输入printf,其中'int'三个字符也是会高亮显示,不太好;
2.按tab键会跳很大一格,按空格又跳的比较小.
#5 [wllw7176 07-31 09:58]
1.tab字符宽度可以通过setTabStopWidth(int pixWidth)设置
1 tab = 4英文字符 setTab
2. 关键字错误高亮
关键字高亮基于正则匹配,例子中正则匹配规则就简单匹配整个关键字,没有处理特殊情况
你可以根据需要改变readSynatxHighter()函数中matchString 来改变匹配规则达到自己要求