本发明专利技术涉及软件开发领域,特别是基于Qt文本编辑的开发,具体地是一种改善QT开发环境的关键词提示方法。其包括启用请求自动补全定时器;进入请求自动补全步骤;进入自动补全步骤;显示自动补全列表;选中自动补全列表的数据并补全在用户输入的位置,完成自动补全等步骤。本发明专利技术能够动态地在内存中建立关键词表,在用户每次输入结束后进行更新,辅助用户输入过程,减轻对众多单词的记忆,提高输入效率;并且能够对关键词表进行定点高亮着色,同时实现实时在输入的光标位置进行提示。
【技术实现步骤摘要】
一种改善Qt开发环境的关键词提示方法
:本专利技术涉及软件开发领域,特别是基于Qt文本编辑的开发,具体地是一种改善QT开发环境的关键词提示方法。
技术介绍
:Qt是跨平台的应用程序和UI框架,包括跨平台类库、集成开发工具和跨平台IDE,只需一次性开发应用程序,无须重新编写源代码,便可跨不同桌面和嵌入式操作系统部署这些应用程序。在软件开发过程中,用户往往在输入某个单词时,仅仅记住了单词的前半部分,只能停下来再去找单词;又或者在输入某些方法名时,单词的字符长度很长,如果在每次用到的地方一次又一次的输入,不仅浪费了不必要的精力,也导致了工作效率大大降低。此时会希望,如果在输入的时候,只需要输入单词的前几个字母,或者输入几个单词的首字母,就可以自动地进行相应的候选列表提示,用户要做的仅仅是从候选队列中选择需要的,然后会自动补全在输入的位置,这样就不必要去记住很多的变量名、方法名等等。
技术实现思路
:本专利技术所要解决的技术问题是针对现有技术在Qt开发环境中输入单词或方法名时存在浪费精力、工作效率低等缺点,提供一种改善Qt开发环境的关键词提示方法。本专利技术解决其技术问题所采取的技术方案是:一种改善Qt开发环境的关键词提示方法,其特征在于:包括以下步骤,步骤1:检测有键盘按压事件;步骤2:进入键盘按压事件处理函数;步骤3:判断当前的文件是否只读且内容有变化,且按键内含有可打印的ASCII字符;如果是,进行步骤4;如果否,结束;步骤4:判断字符是否为字母、数字或下划线;如果是,进行步骤5;如果否,结束;步骤5:判断自动补全是否在进行;如果否,进行步骤6;如果是,结束;步骤6:启用请求自动补全定时器;步骤7:进入请求自动补全步骤;步骤8:进入自动补全步骤;步骤9:显示自动补全列表;步骤10:选中自动补全列表的数据并补全在用户输入的位置,完成自动补全。进一步地,在步骤3中,当键盘输入时,检测到当前的文件内容已经发生了变化,进入语法高亮步骤,其包括以下步骤:自动将当前文件内容按行进行提取,每行包装成一个block,顺序保存;接着对block列表遍历,对每个block进行符号提取,提取出的符号放入符号表tokens;然后再对产生的tokens列表进行遍历,将遍历的每个符号按照预设定的样式设置符号的文本格式。进一步地,步骤7的请求自动补全步骤包括以下步骤:S1:请求自动补全定时器超时信号;S2:进入自动补全定时器超时处理函数;S3:停止请求自动补全定时器;S4:判断自动补全是否真正进行;如果否,进入步骤S5;如果是,结束;S5:判断是否依然位于触发的文本;如果是,进入步骤S6;如果否,结束;S6:发出自动补全的请求;优选地,自动补全定时器时钟周期为500ms。进一步地,步骤8的自动补全步骤以下步骤:S11:接收到自动补全请求;S12:判断当前编辑器是否支持自动补全;如果是,进入步骤S13;如果否,结束;S13:判断是否满足自动补全条件;如果是,进入步骤S14;如果否,结束;S14:收集自动补全片段;优选地,步骤S14中在收集自动补全片段时,在三个位置去寻找:首先,寻找编码语言关键字列表;其次,在用户自定义的宏、变量名以及声明中寻找;最后,在软件默认及用户自定义的补全片段中寻找。更优选地,编码语言关键字列表为int、double或float。本专利技术由于采取了上述技术方案,其具有如下有益效果:本专利技术所述的一种改善Qt开发环境的关键词提示方法,能够动态地在内存中建立关键词表,在用户每次输入结束后进行更新,辅助用户输入过程,减轻对众多单词的记忆,提高输入效率;并且能够对关键词表进行定点高亮着色,同时实现实时在输入的光标位置进行提示。附图说明:图1为本专利技术所述的一种改善Qt开发环境的关键词提示方法的流程示意图;图2为本专利技术所述的代码编辑器的结构示意图;图3为本专利技术所述的语法高亮步骤的流程示意图;图4为本专利技术所述的请求自动补全步骤的流程示意图;图5为本专利技术所述的自动补全的流程示意图。具体实施方式:以下结合附图对本专利技术的内容作进一步说明。如图1、图2、图4和图5所示,本专利技术所述的一种改善Qt开发环境的关键词提示方法,用于辅助用户在Qt开发环境中输入关键词,其特征在于,包括以下步骤:步骤1:检测有键盘按压事件;当有键盘按下时,会自动触发所述改善Qt开发环境的关键词提示方法;步骤2:进入键盘按压事件处理函数;步骤3:判断当前的文件是否只读且内容有变化,且按键内含有可打印的ASCII字符;如果是,即如果文件不是只读模式,是可编辑的,同时内容有变化且按键内含有可打印的ASCII字符,则进行步骤4;如果否,即如果文件是只读模式,是不可编辑的,或者可编辑但无内容变化,或者可编辑并有内容变化但不含有可打印的ASCII字符,则结束;在图2中,本专利技术中的高级代码编辑器包括文本编辑器和语法分析器,所述文本编辑器包括文本输入模块、片段收集器、文本高亮器和编辑器设置模块,所述语法分析器包括代码补全器、语法高亮器、词法分析器和类图生成器;其中,代码补全器能够对用户输入的信息进行匹配并进行自动的提示,即如果当前文档里存在某个单词,如MyApplication,当用户再次输入该单词的部分之后,如Mya,则会自动在对应的光标处显示Mya开头的可能用到的单词列表,从而供用户选择;语法高亮器能够对编程中涉及到的关键词、自定义变量等加以颜色,便于区分,该功能会先调用词法分析器对用户输入的内容按类别进行提取;词法分析器对每行文本内容进行分析和符号提取;类图生成器用于提取用户定义的类和类之间的关系,形成一棵继承树,例如MyItem类继承的关系可以通过左侧继承树进行查看,有利于帮助用户进行快速分析。本专利技术所述的改善Qt开发环境的关键词提示方法借助词法分析器动态对输入的内容扫描形成原始单词表,利用语法分析器对原始单词表分析,提炼出类型名、变量名、方法名形成不同的关键词表,并调用绘图引擎,对关键词表进行定点高亮着色;同时检查键盘输入时间间隔,超过设定阈值,触发字符串的提取模块,对用户输入的内容进行最小提取,调用KMP匹配算法,对提取出的字符串与关键词表进行匹配,返回匹配成功列表,实时在输入的光标位置进行提示;其通过动态地在内存中建立关键词表,在用户每次输入结束后进行更新,辅助用户输入过程,减轻对众多单词的记忆,提高输入效率。如图3所示,在步骤3中,当键盘输入时,检测到当前的文件内容已经发生了变化,进入语法高亮步骤,其包括以下步骤:自动将当前文件内容按行进行提取,每行包装成一个block(区块),每个block保存每行文本内容,顺序保存;接着对block列表遍历,对每个block用词法分析器进行符号提取,例如inta=3,词法分析器分析此行文本后,会提炼出关键字“int”,变量名“a”,运算符“=”,常数“3”,界符“;”,提取出的符号放入符号表tokens;然后再对产生的tokens列表进行遍历,将遍历的每个符号按照预设定的样式设置符号的文本格式。步骤4:判断字符是否为字母、数字或下划线;如果是,进行步骤5;如果否,结束;步骤3和步骤4主要用于忽略非字母、非数字以及非下划线字符的输入,避免因不符合字符键入导致方法过于频繁的调用。步骤5:判断自动补全是否在进行;如果否,进行步骤6;如果本文档来自技高网...
【技术保护点】
一种改善Qt开发环境的关键词提示方法,其特征在于:包括以下步骤,步骤1:检测有键盘按压事件;步骤2:进入键盘按压事件处理函数;步骤3:判断当前的文件是否只读且内容有变化,且按键内含有可打印的ASCII字符;如果是,进行步骤4;如果否,结束;步骤4:判断字符是否为字母、数字或下划线;如果是,进行步骤5;如果否,结束;步骤5:判断自动补全是否在进行;如果否,进行步骤6;如果是,结束;步骤6:启用请求自动补全定时器;步骤7:进入请求自动补全步骤;步骤8:进入自动补全步骤;步骤9:显示自动补全列表;步骤10:选中自动补全列表的数据并补全在用户输入的位置,完成自动补全。
【技术特征摘要】
1.一种改善Qt开发环境的关键词提示方法,其特征在于:包括以下步骤,步骤1:检测有键盘按压事件;步骤2:进入键盘按压事件处理函数;步骤3:判断当前的文件是否只读且内容有变化,且按键内含有可打印的ASCII字符;如果是,进行步骤4;如果否,结束;步骤4:判断字符是否为字母、数字或下划线;如果是,进行步骤5;如果否,结束;步骤5:判断自动补全是否在进行;如果否,进行步骤6;如果是,结束;步骤6:启用请求自动补全定时器;步骤7:进入请求自动补全步骤;步骤8:进入自动补全步骤;步骤9:显示自动补全列表;步骤10:选中自动补全列表的数据并补全在用户输入的位置,完成自动补全。2.根据权利要求1所述的改善Qt开发环境的关键词提示方法,其特征在于:在步骤3中,当键盘输入时,检测到当前的文件内容已经发生了变化,进入语法高亮步骤,其包括以下步骤:自动将当前文件内容按行进行提取,每行包装成一个block,顺序保存;接着对block列表遍历,对每个block进行符号提取,提取出的符号放入符号表tokens;然后再对产生的tokens列表进行遍历,将遍历的每个符号按照预设定的样式设置符号的文本格式。3.根据权利要求1所述的改善Qt开发环境的关键词提示方法,其特征在于:步骤7的请求...
【专利技术属性】
技术研发人员:王卓妮,
申请(专利权)人:南京仁谷系统集成有限公司,
类型:发明
国别省市:江苏,32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。