一种数据处理方法和装置制造方法及图纸

技术编号:26504187 阅读:15 留言:0更新日期:2020-11-27 15:31
本申请实施例提供一种数据处理方法和装置,涉及智慧城市技术领域。其中,方法包括:通过新增的预设窗体基类生成窗体对象,通过新增的视图控制器基类生成视图控制器对象,将视图控制器对象绑定窗体对象的业务逻辑对象,并保存业务逻辑对象所需的消息类型;将视图控制器对象注入至窗体对象中;通过窗体对象接收原生操作信号并生成操作消息,通过窗体对象将操作消息添加至视图控制器对象,通过视图控制器对象根据操作消息的消息类型确定匹配的目标业务逻辑对象并处理操作消息,本申请实施例增加了GUI应用程序的稳定性和可扩展性,提高调整效率,提高测试效率。

【技术实现步骤摘要】
一种数据处理方法和装置
本申请涉及智慧城市
,具体涉及一种数据处理方法和装置。
技术介绍
QT框架基于C++语言开发,可用于linux、windows系统下的基于C/S(Client/Server,客户端/服务器)架构的GUI(GraphicalUserInterface,图形用户界面)应用程序。一个GUI应用程序常常由大量的窗体组成,例如登录窗体、用户管理窗体、角色管理窗体等。这些窗体上包括许多的控件,例如各类按钮、文本输入框、下拉列表框等。这些窗体或控件在用户触发点击、拖动、输入、提交等等交互动作时,QT框架均会发送信号(也可称为操作信号,即本申请中的原生操作信号),并触发和该信号绑定的槽方法进行业务逻辑处理后更新窗体所对应的图形用户界面。因此,采用QT框架开发的GUI应用程序,其界面相关的事件多依赖于QT框架本身提供的基于信号和槽方法的方式,这种方式下触发的信号直接与槽方法绑定。在GUI控件较多时,大量的信号和其处理业务的槽方法间混杂在同一GUI处理逻辑之中,当业务变化导致槽方法修改时,往往伴随信号绑定的槽方法的处理逻辑的调整和重测试,繁琐易错。
技术实现思路
本申请实施例提供一种数据处理方法和装置,可增加GUI应用程序的稳定性和可扩展性,提高调整操作消息所对应的业务逻辑的效率。本申请实施例提供了一种数据处理方法,包括:根据预设窗体基类生成图形用户界面窗体对象,所述预设窗体基类继承QT框架的窗体基类;根据视图控制器基类生成所述窗体对象的视图控制器对象;<br>通过所述视图控制器对象绑定所述窗体对象的业务逻辑对象,并保存所述业务逻辑对象向所述视图控制器对象注册的所需的消息类型;将绑定所述业务逻辑对象的所述视图控制器对象注入至所述窗体对象中;通过所述窗体对象接收在所述窗体对象对应的图形用户界面上触发的原生操作信号;根据所述原生操作信号生成操作消息;通过所述窗体对象将所述操作消息添加至所述视图控制器对象;根据所述操作消息的消息类型通过所述视图控制器对象确定匹配的目标业务逻辑对象,并通过所述目标业务逻辑对象处理所述操作消息。本申请实施例还提供了一种数据处理装置,包括:第一生成模块,用于根据预设窗体基类生成图形用户界面窗体对象,所述预设窗体基类继承QT窗体基类;第二生成模块,用于根据视图控制器基类生成所述窗体对象的视图控制器对象;绑定模块,用于通过所述视图控制器对象绑定所述窗体对象的业务逻辑对象,并保存所述业务逻辑对象向所述视图控制器对象注册的所需的消息类型;注入模块,用于将绑定了所述业务逻辑对象的所述视图控制器对象注入至所述窗体对象中;接收模块,用于通过所述窗体对象接收在所述窗体对象对应的图形用户界面上触发的原生操作信号;第三生成模块,用于根据所述原生操作信号生成操作消息;添加模块,用于通过所述窗体对象将所述操作消息添加至所述视图控制器对象;消息处理模块,用于根据所述操作消息的消息类型通过所述视图控制器对象确定匹配的目标业务逻辑对象,并通过所述目标业务逻辑对象处理所述操作消息。本申请实施例还提供了一种电子设备,所述电子设备包括:一个或多个处理器;存储器;以及一个或多个计算机程序,其中所述处理器和所述存储器相连接,所述一个或多个计算机程序被存储于所述存储器中,并配置为由所述处理器执行上述所述的数据处理方法。本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现上述任一种数据处理方法中的步骤。本申请实施例通过新增预设窗体基类和视图控制器基类,其中,预设窗体基类继承QT框架的窗体基类,通过预设窗体基类生成窗体对象,通过视图控制器基类生成视图控制器对象,将视图控制器对象绑定窗体对象的业务逻辑对象,并保存业务逻辑对象所需的消息类型;将绑定业务逻辑对象的视图控制器对象注入至窗体对象中,如此,实现通过视图控制器对象关联窗体对象和业务逻辑对象;通过窗体对象接收在对应的图形用户界面上基于QT框架触发的原生操作信号,根据原生操作信号生成操作消息,通过窗体对象将操作消息添加至视图控制器对象,通过视图控制器对象根据操作消息的消息类型确定匹配的目标业务逻辑对象,并通过目标业务逻辑对象处理操作消息,如此,通过视图控制器对象接收操作消息,该操作消息由QT框架的原生操作信号生成,并通过视图控制器对象来确定匹配的目标业务逻辑对象来处理该操作消息,不再需要直接使用QT框架原生的信号槽机制把原生操作信号和对应的槽方法硬性捆绑,使得原生操作信号和业务逻辑处理对应的槽方法分离,实现了用户操作与业务逻辑处理的解耦,图形用户界面和用户操作的分离,图形用户界面与业务逻辑处理的分离,使得业务逻辑的修改不再影响窗体对象对应的图形用户界面的原生操作信号发送相关逻辑,增加了GUI应用程序的稳定性和可扩展性,提高调整操作消息所对应的业务逻辑的效率,提高测试操作消息所对应的业务逻辑的效率。附图说明为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本申请实施例提供的数据处理方法的场景示意图;图2是本申请实施例提供的数据处理方法的流程示意图;图3是本申请实施例提供的数据处理中整体关系的示意图;图4是本申请实施例提供的数据处理中窗体对象的流程示意图;图5是本申请实施例提供的数据处理中视图控制器对象的流程示意图;图6是本申请实施例提供的数据处理方法的另一流程示意图;图7是本申请实施例提供的数据处理装置的结构示意图;图8是本申请实施例提供的电子设备的结构示意图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。本申请实施例提供一种数据处理方法、装置、电子设备和存储介质。本申请实施例提供的任一种数据处理装置,可以集成在电子设备中。该电子设备包括但不限于智能手机、平板电脑、笔记本电脑、智能电视、智能机器人、个人计算机(PC,PersonalComputer)、可穿戴设备、服务器计算机,等等。在电子设备中,存在利用QT框架或者类似QT框架开发的GUI应用程序。请参阅图1,是本申请实施例提供的数据处理方法的场景示意图。该数据处理方法应用于电子设备中,在电子设备中有GUI应用程序。GUI应用程序包括多个图形用户界面/GUI界面/窗体,GUI界面中又包括多个不同的控件。如在窗体1中包括多个文本输入框、下拉列表框、各类按钮等。用户在窗体1中本文档来自技高网...

【技术保护点】
1.一种数据处理方法,其特征在于,包括:/n根据预设窗体基类生成图形用户界面窗体对象,所述预设窗体基类继承QT框架的窗体基类;/n根据视图控制器基类生成所述窗体对象的视图控制器对象;/n通过所述视图控制器对象绑定所述窗体对象的业务逻辑对象,并保存所述业务逻辑对象向所述视图控制器对象注册的所需的消息类型;/n将绑定所述业务逻辑对象的所述视图控制器对象注入至所述窗体对象中;/n通过所述窗体对象接收在所述窗体对象对应的图形用户界面上触发的原生操作信号;/n根据所述原生操作信号生成操作消息;/n通过所述窗体对象将所述操作消息添加至所述视图控制器对象;/n根据所述操作消息的消息类型通过所述视图控制器对象确定匹配的目标业务逻辑对象,并通过所述目标业务逻辑对象处理所述操作消息。/n

【技术特征摘要】
1.一种数据处理方法,其特征在于,包括:
根据预设窗体基类生成图形用户界面窗体对象,所述预设窗体基类继承QT框架的窗体基类;
根据视图控制器基类生成所述窗体对象的视图控制器对象;
通过所述视图控制器对象绑定所述窗体对象的业务逻辑对象,并保存所述业务逻辑对象向所述视图控制器对象注册的所需的消息类型;
将绑定所述业务逻辑对象的所述视图控制器对象注入至所述窗体对象中;
通过所述窗体对象接收在所述窗体对象对应的图形用户界面上触发的原生操作信号;
根据所述原生操作信号生成操作消息;
通过所述窗体对象将所述操作消息添加至所述视图控制器对象;
根据所述操作消息的消息类型通过所述视图控制器对象确定匹配的目标业务逻辑对象,并通过所述目标业务逻辑对象处理所述操作消息。


2.根据权利要求1所述的数据处理方法,其特征在于,所述根据所述原生操作信号生成操作消息的步骤,包括:
获取所述原生操作信号的信号来源以及触发所述原生操作信号的触发时间,将所述信号来源作为消息类型;
设置消息状态为未完成状态;
封装所述触发时间、所述消息类型、所述消息状态和所述原生操作信号,以生成操作消息。


3.根据权利要求2所述的数据处理方法,其特征在于,还包括:
当所述原生操作信号需要被多个业务逻辑对象处理时,获取所述多个业务逻辑对象处理的共享数据;
设置所述原生操作信号的处理顺序标识;
所述封装所述触发时间、所述消息类型、所述消息状态和所述原生操作信号,以生成操作消息的步骤,包括:封装所述触发时间、所述消息类型、所述消息状态、所述共享数据、所述处理顺序标识和所述原生操作信号,以生成操作消息。


4.根据权利要求1所述的数据处理方法,其特征在于,所述根据所述操作消息的消息类型通过所述视图控制器对象确定匹配的目标业务逻辑对象的步骤,包括:
通过所述视图控制器对象的业务对象定时器从所述视图控制器对象的消息缓存中获取消息状态为未处理状态的操作消息,并将所述消息状态为未处理状态的操作消息作为第一目标操作消息;
获取所述第一目标操作消息的消息类型;
从所述视图控制器对象的业务逻辑注册库中查询与所述消息类型匹配的业务逻辑对象,作为目标业务逻辑对象。


5.根据权利要求4所述的数据处理方法,其特征在于,还包括:
获取所述第一目标操作消息的处理顺序标识;
所述从所述视图控制器对象的业务逻辑注册库中查询与所述消息类型匹配的业务逻辑对象,作为目标业务逻辑对象的步骤,包括:从所述视图控制器对象的业务逻辑注册库中查询与所述消息类型和所述处理顺序标识一一匹配的业务逻辑对象,作为目...

【专利技术属性】
技术研发人员:王洵王开学罗伦文
申请(专利权)人:武汉中科通达高新技术股份有限公司
类型:发明
国别省市:湖北;42

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

1