书签 分享 收藏 举报 版权申诉 / 11

一种改善QT开发环境的关键词提示方法.pdf

  • 上传人:00062****4422
  • 文档编号:1297902
  • 上传时间:2018-04-13
  • 格式:PDF
  • 页数:11
  • 大小:504.93KB
  • 摘要
    申请专利号:

    CN201710059729.X

    申请日:

    2017.01.24

    公开号:

    CN106843528A

    公开日:

    2017.06.13

    当前法律状态:

    实审

    有效性:

    审中

    法律详情:

    实质审查的生效IPC(主分类):G06F 3/023申请日:20170124|||公开

    IPC分类号:

    G06F3/023; G06F9/44

    主分类号:

    G06F3/023

    申请人:

    南京仁谷系统集成有限公司

    发明人:

    王卓妮

    地址:

    210000 江苏省南京市江苏南京浦口(高新区)南京软件园孵鹰大厦A座403

    优先权:

    专利代理机构:

    广州市红荔专利代理有限公司 44214

    代理人:

    关家强;吴伟文

    PDF完整版下载: PDF下载
    内容摘要

    本发明涉及软件开发领域,特别是基于Qt文本编辑的开发,具体地是一种改善QT开发环境的关键词提示方法。其包括启用请求自动补全定时器;进入请求自动补全步骤;进入自动补全步骤;显示自动补全列表;选中自动补全列表的数据并补全在用户输入的位置,完成自动补全等步骤。本发明能够动态地在内存中建立关键词表,在用户每次输入结束后进行更新,辅助用户输入过程,减轻对众多单词的记忆,提高输入效率;并且能够对关键词表进行定点高亮着色,同时实现实时在输入的光标位置进行提示。

    权利要求书

    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的请
    求自动补全步骤包括以下步骤:
    S1:请求自动补全定时器超时信号;
    S2:进入自动补全定时器超时处理函数;
    S3:停止请求自动补全定时器;
    S4:判断自动补全是否真正进行;
    如果否,进入步骤S5;如果是,结束;
    S5:判断是否依然位于触发的文本;
    如果是,进入步骤S6;如果否,结束;
    S6:发出自动补全的请求。
    4.根据权利要求3所述的改善Qt开发环境的关键词提示方法,其特征在于:自动补全定
    时器时钟周期为500ms。
    5.根据权利要求1所述的改善Qt开发环境的关键词提示方法,其特征在于:步骤8的自
    动补全步骤以下步骤:
    S11:接收到自动补全请求;
    S12:判断当前编辑器是否支持自动补全;
    如果是,进入步骤S13;如果否,结束;
    S13:判断是否满足自动补全条件;
    如果是,进入步骤S14;如果否,结束;
    S14:收集自动补全片段。
    6.根据权利要求5所述的改善Qt开发环境的关键词提示方法,其特征在于:步骤S14中
    在收集自动补全片段时,在三个位置去寻找:首先,寻找编码语言关键字列表;其次,在用户
    自定义的宏、变量名以及声明中寻找;最后,在软件默认及用户自定义的补全片段中寻找。
    7.根据权利要求6所述的改善Qt开发环境的关键词提示方法,其特征在于:编码语言关
    键字列表为int、double或float。

    说明书

    一种改善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用词法分析器进行符号提取,例如int a= 3,词法分析器分析此行文本后,会提炼出
    关键字“int”,变量名“a”,运算符“=”,常数“3”,界符“;”,提取出的符号放入符号表tokens;
    然后再对产生的tokens列表进行遍历,将遍历的每个符号按照预设定的样式设置符号的文
    本格式。

    步骤4:判断字符是否为字母、数字或下划线;

    如果是,进行步骤5;如果否,结束;

    步骤3和步骤4主要用于忽略非字母、非数字以及非下划线字符的输入,避免因不符合
    字符键入导致方法过于频繁的调用。

    步骤5:判断自动补全是否在进行;

    如果否,进行步骤6;如果是,结束;

    在检测输入满足条件后,判断请求自动补全定时器是否已经工作,如果已在工作,则结
    束,即此流程自动终止,从而避免因为输入过快,导致方法频繁被调用,反而使得效率降低。

    步骤6:启用请求自动补全定时器;

    若自动补全定时器未在工作,则启动请求自动补全定时器,当自动补全定时器时钟周
    期(500ms)到来后,再次对输入地方进行条件判断,如果鼠标或者文件状态改变,那么此次
    的补全工作意义已经消失。

    步骤7:进入请求自动补全步骤;

    如图4所示,在启用请求自动补全定时器后,进入请求自动补全步骤,其包括以下步骤:

    S1:请求自动补全定时器超时信号;

    S2:进入自动补全定时器超时处理函数;

    S3:停止请求自动补全定时器;

    S4:判断自动补全是否真正进行;

    如果否,进入步骤S5;如果是,结束;

    S5:判断是否依然位于触发的文本;

    如果是,进入步骤S6;如果否,结束;

    S6:发出自动补全的请求。

    步骤8:进入自动补全步骤;

    如图5所示,在接收到自动补全请求后,进入自动补全步骤,其包括:

    S11:接收到自动补全请求;

    S12:判断当前编辑器是否支持自动补全;

    如果是,进入步骤S13;如果否,结束;

    S13:判断是否满足自动补全条件;

    如果是,进入步骤S14;如果否,结束;

    S14:收集自动补全片段;

    在收集自动补全片段时,主要在三个位置去寻找:首先,寻找编码语言关键字列表,例
    如int、double或float等;其次,在用户自定义的宏、变量名以及声明中寻找;最后,在软件
    默认及用户自定义的补全片段中寻找。

    步骤9:显示自动补全列表;

    将提取出的输入字符与步骤S14中三个位置所产生的字符匹配之后,将匹配成功的结
    果汇总,并在用户输入的位置显示自动补全列表。

    步骤10:完成自动补全;

    在步骤9补全列表显示之后,用户可以通过方向键进行上下切换,选中某个列表数据后
    并按回车,自动将选中的数据补全在用户输入的位置。

    本发明所述的一种改善Qt开发环境的关键词提示方法通过上述一个流程之后,动
    态地在内存中建立关键词表,在用户每次输入结束后进行更新,辅助用户输入过程,减轻对
    众多单词的记忆,提高输入效率。

    以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发
    明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技
    术领域,均同理包括在本发明的专利保护范围内。

    关 键  词:
    一种 改善 QT 开发 环境 关键词 提示 方法
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:一种改善QT开发环境的关键词提示方法.pdf
    链接地址:https://www.zhuanlichaxun.net/p-1297902.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1