查看完整版本: [-- QT 简单文本编辑器-语法高亮,代码补全,高亮当前行,行号显示 --]

QTCN开发网 -> Qt 作品展 -> QT 简单文本编辑器-语法高亮,代码补全,高亮当前行,行号显示 [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

wllw7176 2018-07-28 21:19

QT 简单文本编辑器-语法高亮,代码补全,高亮当前行,行号显示


Based on Qt 5.7.0 (MSVC 2013, 32 bit) 编译器:Mingw

简单的文本编辑器,主要实现了如下功能:
1.行号显示及高亮当前行(集成CodeEditorExmaple qt自带例子)
2.文本动态补全
3.关键字高亮

   文本自动补全与语法高亮功能可以指定语法高亮文件,这个在资源文件添加对应的语法高亮文件就行了,目前实现了简单的c语言的语法高亮及自动补全。

语法高亮文件格式如下:
$$keyword     r      g     b    //注释行 $$开头
auto         212    12    204   //关键字 r,g,b关键字原色值

liuchangyin 2018-07-29 09:07

dansir 2018-07-29 15:03

yangyu52009 2018-07-29 21:31

newbe 2018-07-30 17:04
还不错,有两个不怎么好的地方反馈一下:
1. int是高亮关键字,但是输入printf,其中'int'三个字符也是会高亮显示,不太好;
2.按tab键会跳很大一格,按空格又跳的比较小.

wllw7176 2018-07-31 09:58
1.tab字符宽度可以通过setTabStopWidth(int pixWidth)设置
1 tab = 4英文字符 setTab

2. 关键字错误高亮
关键字高亮基于正则匹配,例子中正则匹配规则就简单匹配整个关键字,没有处理特殊情况
你可以根据需要改变readSynatxHighter()函数中matchString 来改变匹配规则达到自己要求

wllw7176 2018-07-31 09:59
newbe:还不错,有两个不怎么好的地方反馈一下:
1. int是高亮关键字,但是输入printf,其中'int'三个字符也是会高亮显示,不太好;
2.按tab键会跳很大一格,按空格又跳的比较小. (2018-07-30 17:04) 

1.tab字符宽度可以通过setTabStopWidth(int pixWidth)设置
1 tab = 4英文字符 setTab

2. 关键字错误高亮
关键字高亮基于正则匹配,例子中正则匹配规则就简单匹配整个关键字,没有处理特殊情况
你可以根据需要改变readSynatxHighter()函数中matchString 来改变匹配规则达到自己要求

九重水 2018-07-31 11:28
初学者?标识符和关键字的识别要以最长的那个为准。
不然很容识别错误,例如将 ‘ifelse’ 标识符识别成‘if’ 和 ‘else’……
好好加油。我也是初学者。

wllw7176 2018-07-31 11:34
九重水:初学者?标识符和关键字的识别要以最长的那个为准。
不然很容识别错误,例如将 ‘ifelse’ 标识符识别成‘if’ 和 ‘else’……[表情]
好好加油。我也是初学者。[表情]  (2018-07-31 11:28) 

嗯,刚学qt不久,在学习C++ GUI Qt4这个经典

newbe 2018-08-04 14:03
有道理!

qing11 2018-08-12 22:54
  

幽弥狂 2018-11-25 18:14
不错,学习学习

spence 2019-02-22 00:47
支持,顶!

内容来自[手机版]

dddggg 2019-02-23 10:03
加上代码折叠就好了

rpaul518 2019-03-15 09:08
    

fengshaoxie 2019-05-30 16:59
好像下载不下来

wllw7176 2019-07-01 12:35
应该可以下载吧

songhuirong1 2019-07-08 08:12
好牛逼

fjydpf 2019-07-11 15:55
可以啊,不错

代码如诗 2022-08-22 17:25
楼主666

cz012273 2022-10-25 19:16
向高手学习中,能做个linux版的吗?(deb格式)


查看完整版本: [-- QT 简单文本编辑器-语法高亮,代码补全,高亮当前行,行号显示 --] [-- top --]



Powered by phpwind v8.7 Code ©2003-2011 phpwind
Gzip disabled