一种软件界面快速生成方法和系统技术方案

技术编号:14925976 阅读:31 留言:0更新日期:2017-03-30 17:54
本发明专利技术公开了一种软件界面快速生成方法,步骤包括:步骤1:将UI界面模块化划分,不同的UI界面由相应的管理模块(module widget)来创建和管理;步骤2:根据软件界面形成对应的模块与子功能模块配置文件,其遵循JSON的标准格式,其包括功能模块和子功能模块的描述信息;其中,功能模块的描述信息包括模块界面在模块序列中的显示顺序(Order)字段、模块界面显示描述(Desc)字段和该模块下子功能界面描述信息(Feature)字段,子功能模块的描述信息包括子功能界面在管理模块下的所有子功能界面序列中的显示顺序(Order)字段和子功能界面的界面描述信息(Feature)字段;步骤3:读取以上模块与子功能配置文件,根据以上配置文件,最终实现软件界面的绘制。

【技术实现步骤摘要】

本专利技术属于计算机软件设计领域,具体来说,涉及一种软件界面快速生成方法和系统
技术介绍
内网安全控制端软件的主要功能就是,向客户机下发策略和数据统计。策略分为两种:1.无参策略:它包括策略的名称,执行周期(这条策略在什么时间段内执行),是否支持离线(客户机离线后策略是否还要执行)和是否启用四个要素2.有参策略:它包括策略的名称,执行周期,是否支持离线,是否启和策略参数,例如,网站黑白名单这条策略中,策略参数中就包含网址的黑名单或者白名单。“无参策略“界面显示的元素都是一样的,”有参策略“各有不同但是都包含“无参策略“界面的显示元素。为了用户使用方便,大家的都会把这些界面按类别划分,例如“禁止共享”,“禁止安装程序”和“禁止添加用户”这三条策略界面归为“终端安全”类别,即我们也可以将“终端安全”看作是一个功能模块,这个功能模块下包含“禁止共享”,“禁止安装程序”和“禁止添加用户”这三个子功能。客户的要求总是多种多样的他们会根据他们具体的实际要求来使用这些功能,也会提出一些改进要求,例如有些功能模块下的子功能他们不需要,就要求不要提供显示;又例如某些功能的使用频率的不同,他们希望调整下界面的显示顺序来方便他们的使用。以上这两个列子可以说是客户经常会提出的要求。现在大家普遍的做法是,如果有客户提出此类要求就为此客户制作一个“转本”以满足他们对界面的特殊要求,一般的流程就是,客户提要求,市场部反馈,然后是研发制作相应“专版”,然后是测试,最后是给客户提供“专版”。以往界面开发方式,虽然代码清晰,针对性强,可以随意编写有针对性的,不同样式的界面,但是在大型软件开发上面还是有很多缺点的:1.开发工作量大,每一个界面都要从头开始编写,包括界面元素的编写和布局,即使这些界面的外观都很类似。2.代码维护成本高,例如,如果要隐藏某个界面或者改变界面的显示顺序,也要修改每一个界面的代码文件,如果客户需要添加一个新功能,则相关的界面都差不多需要从头开始编写。工作量可谓繁重。3.“专版”程序数量庞大,最终难以维护。
技术实现思路
本专利技术所要解决的技术问题是用最少的代码来快速生成策略界面同时还要满足组上面提到的用户对界面显示的特殊要求。本专利技术解决上述技术问题所采取的技术方案如下:一种软件界面快速生成方法,步骤包括:步骤1:将UI界面模块化划分,不同的UI界面由相应的管理模块(modulewidget)来创建和管理,其中,子功能管理模块(featurewidget)提供了每个UI界面都必须有的基本功能接口,管理模块(modulewidget)负责创建并按照指定方式显示子功能管理模块(featurewidget);步骤2:根据软件界面形成对应的模块与子功能模块配置文件,其遵循JSON的标准格式,其包括功能模块和子功能模块的描述信息;其中,功能模块的描述信息包括模块界面在模块序列中的显示顺序(Order)字段、模块界面显示描述(Desc)字段和该模块下子功能界面描述信息(Feature)字段,子功能模块的描述信息包括子功能界面在管理模块下的所有子功能界面序列中的显示顺序(Order)字段和子功能界面的界面描述信息(Feature)字段;步骤3:读取以上模块与子功能配置文件,根据以上配置文件,最终实现软件界面的绘制。优选的是,所述步骤3中,具体包括以下子步骤:31)根据以上模块与子功能配置文件,生成管理模块界面结构体和子功能界面结构体实例,并缓存;32)为每一个管理模块结构体实例和创建对应的一个QModWidget窗口类实例,在此将相应的管理模块界面结构体(CMod)传入;其中,QModWidget实例在初始化的时候,为每个一个本模块下的子功能界面实例创建并初始化对应的一个QFeatureWidget窗口类实例或者继承自QFeatureWidget的窗口类实例,同样要将相应的子功能界面结构体(CFeature)传入,其中,如果QModWidget实例下有多个QFeatureWidget窗口类实例,QModWidget创建一个Tab页控件来负责管理这些QFeatureWidget窗口的切换,并且显示顺序与子功能界面结构体(CFeature)的顺序相对应,其由以上模块与子功能配置文件中的子功能模块的描述信息所限定。优选的是,在步骤32)之后,还包括:33)生成一个工具栏QModToolBar类实例,用于切换不同管理模块,其中,工具栏中的每个按钮显示模块名称以及相应的显示顺序,每个按钮显示模块名称以及相应的显示顺序由以上模块与子功能配置文件中的功能模块的描述信息所限定。优选的是,在步骤33)之后,还包括:34)生成一QModContainer窗口类实例,其负责管理所有的QModWidget实例,其中,默认显示序号最小的管理模块下序号也同样是最小的子功能界面,并且,QModContainer与QModToolBar相通信,在工具栏切换模块的时候,QModToolBar通知QModContainer窗口类实例,由它来完成具体的切换动作。优选的是,QFeatureWidget窗口类实例中提供了onActivate和onLeave两个虚函数,它的每一个子功能窗口类都要重载这两个函数,当窗口切换的时候框架会自动调动子功能窗口的这两个函数,由此实现模块或者子功能界面的切换。优选的是,通过删除模块与子功能配置文件中的界面描述信息(Feature)字段实现管理模块和子功能管理模块的隐藏。优选的是,通过更改模块与子功能配置文件中的显示顺序(Order)字段以改变模块之间的显示顺序。一种软件界面快速生成系统,包括:模块设置单元,用于将UI界面模块化划分,不同的UI界面由相应的管理模块(modulewidget)来创建和管理,其中,子功能管理模块(featurewidget)提供了每个UI界面都必须有的基本功能接口,管理模块(modulewidget)负责创建并按照指定方式显示子功能管理模块(featurewidget);配置文件设置单元,用于根据软件界面形成对应的模块与子功能模块配置文件,其遵循JSON的标准格式,其包括功能模块和子功能模块的描述信息;其中,功能模块的描述信息包括模块界面在模块序列中的显示顺序(Order)字段、模块界面显示描述(Desc)字段和该模块下子功能界面描述信息(Feature)字段,子功能模块本文档来自技高网
...
一种软件界面快速生成方法和系统

【技术保护点】
一种软件界面快速生成方法,其特征在于,步骤包括:步骤1:将UI界面模块化划分,不同的UI界面由相应的管理模块(module widget)来创建和管理,其中,子功能管理模块(feature widget)提供了每个UI界面都必须有的基本功能接口,管理模块(module widget)负责创建并按照指定方式显示子功能管理模块(feature widget);步骤2:根据软件界面形成对应的模块与子功能模块配置文件,其遵循JSON的标准格式,其包括功能模块和子功能模块的描述信息;其中,功能模块的描述信息包括模块界面在模块序列中的显示顺序(Order)字段、模块界面显示描述(Desc)字段和该模块下子功能界面描述信息(Feature)字段,子功能模块的描述信息包括子功能界面在管理模块下的所有子功能界面序列中的显示顺序(Order)字段和子功能界面的界面描述信息(Feature)字段;步骤3:读取以上模块与子功能配置文件,根据以上配置文件,最终实现软件界面的绘制。

【技术特征摘要】
1.一种软件界面快速生成方法,其特征在于,步骤包括:
步骤1:将UI界面模块化划分,不同的UI界面由相应的管理模块(module
widget)来创建和管理,其中,子功能管理模块(featurewidget)提供了每个
UI界面都必须有的基本功能接口,管理模块(modulewidget)负责创建并按
照指定方式显示子功能管理模块(featurewidget);
步骤2:根据软件界面形成对应的模块与子功能模块配置文件,其遵循
JSON的标准格式,其包括功能模块和子功能模块的描述信息;
其中,功能模块的描述信息包括模块界面在模块序列中的显示顺序(Order)
字段、模块界面显示描述(Desc)字段和该模块下子功能界面描述信息(Feature)
字段,子功能模块的描述信息包括子功能界面在管理模块下的所有子功能界
面序列中的显示顺序(Order)字段和子功能界面的界面描述信息(Feature)
字段;
步骤3:读取以上模块与子功能配置文件,根据以上配置文件,最终实现
软件界面的绘制。
2.根据权利要求1所述的软件界面快速生成方法,其特征在于,所述步
骤3中,具体包括以下子步骤:
31)根据以上模块与子功能配置文件,生成管理模块界面结构体和子功能
界面结构体实例,并缓存;
32)为每一个管理模块结构体实例和创建对应的一个QModWidget窗口
类实例,在此将相应的管理模块界面结构体(CMod)传入;
其中,QModWidget实例在初始化的时候,为每个一个本模块下的子功能
界面实例创建并初始化对应的一个QFeatureWidget窗口类实例或者继承自
QFeatureWidget的窗口类实例,同样要将相应的子功能界面结构体(CFeature)
传入,其中,如果QModWidget实例下有多个QFeatureWidget窗口类实例,
QModWidget创建一个Tab页控件来负责管理这些QFeatureWidget窗口的切
换,并且显示顺序与子功能界面结构体(CFeature)的顺序相对应,其由以上
模块与子功能配置文件中的子功能模块的描述信息所限定。
3.根据权利要求2所述的软件界面快速生成方法,其特征在于,在步骤

\t32)之后,还包括:
33)生成一个工具栏QModToolBar类实例,用于切换不同管理模块,其
中,工具栏中的每个按钮显示模块名称以及相应的显示顺序,每个按钮显示模
块名称以及相应...

【专利技术属性】
技术研发人员:张帅吴永
申请(专利权)人:山东华软金盾软件股份有限公司
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1