用户界面的生成方法、装置、设备及存储介质与流程
未命名
08-12
阅读:91
评论:0
1.本技术涉及图像用户界面领域,尤其涉及一种用户界面的生成方法、装置、设备及存储介质。
背景技术:
2.在对网络摄像机进行远程配置时,为了能够适应不同的算法插件,通常采用xml(英文全称为extensible markup language,中文全称为可扩展标记语言)数据描述ui。通过解析xml数据生成相应的ui,并生成请求,解析设备的响应数据。
3.由于nvr(英文全称为network video recorder,中文全称为网络视频录像机)的限制较多,为了方便nvr端的实现,考虑到如果基于awtk(英文全称为toolkit anywhere)支持xml页面加载的限制进行设计。该设计要求各端能够解析基于该规范实现的xml,生成ui、生成请求和解析响应并绑定数据,需要适配数据种类和数量未知、响应数据结构复杂、交互方法的名称不确定的情况。
4.生成model实体并进行绑定,可以较好的解决数据绑定与交互绑定的问题。但是,awtk暂不支持界面生成,也不支持model实例的生成。awtk要求绑定和被绑定数据的名称和类型是已知的,从而提前实现对应的model进行绑定,在awtk初始化时将model进行注册。因此,基于awtk的xml规范无法通过生成model实例的方式实现数据绑定,不能有效的对用户界面的控件进行动态更新。
技术实现要素:
5.有鉴于此,本技术实施例提供了一种用户界面的生成方法、装置、设备及存储介质,以解决现有技术中基于awtk的xml规范无法通过生成model实例的方式实现数据绑定,不能有效的对用户界面的控件进行动态更新的问题。
6.本技术实施例的第一方面提供了一种用户界面的生成方法,所述方法基于嵌入awtk的qt平台实现,所述方法包括:
7.获取生成用户界面的通用请求信号,所述通用请求信号包括awtk控件标识;
8.获取所述通用请求信号的awtk控件标识对应的第一请求字符串;
9.根据所述第一请求字符串中的标记信息,对所述第一请求字符串进行数据更新,生成第二请求字符串;
10.根据所述第二请求字符串获取设备响应数据,根据所述第一请求字符串的字符串标识获取对应的响应结构和绑定信息,根据所述设备响应数据、所述响应结构和所述绑定信息,通过awtk接口更新用户界面的控件,以生成用户界面。
11.结合第一方面,在第一方面的第一种可能实现方式中,根据所述设备响应数据、所述响应结构和所述绑定信息,通过awtk接口更新用户界面的控件,包括:
12.根据所述绑定信息确定所述第一请求字符串在所述设备响应数据中对应的响应字段;
13.根据所述响应结构确定所述响应字段的数据类型,将所述响应字段转换为所述数据类型的数据;
14.根据所述绑定信息查找对应的控件,调用awtk接口将所述数据更新至所述控件。
15.结合第一方面,在第一方面的第二种可能实现方式中,所述字符串标识包括请求名,根据所述第二请求字符串获取设备响应数据,根据所述第一请求字符串的字符串标识获取对应的响应结构和绑定信息,包括:
16.将所述第二请求字符串发送至设备端,并获取所述设备端返回的设备响应数据;
17.根据所述第一请求字符串中的请求名,确定所述响应数据对应的响应结构和绑定信息。
18.结合第一方面,在第一方面的第三种可能实现方式中,获取生成用户界面的通用请求信号,包括:
19.通过awtk管理模块检测控件的触发信息;
20.由所述awtk管理模块根据所述触发信息,调用信号管理模块注册生成所述通用请求信号。
21.结合第一方面,在第一方面的第四种可能实现方式中,获取所述通用请求信号的awtk控件标识对应的第一请求字符串,包括:
22.通过请求与响应管理模块根据所述通用请求信号的awtk控件标识,向xml解析模块发送获取字符串的请求;
23.由所述xml解析模块接收所述请求,根据预设的绑定关系,查找所述awtk控件标识对应的第一请求字符串,将所述第一请求字符串发送给所述请求与响应管理模块。
24.结合第一方面,在第一方面的第五种可能实现方式中,对所述第一请求字符串进行数据更新,生成第二请求字符串,包括:
25.根据所述第一请求字符串中包括的标记信息,确定所述第一请求字符串中的待处理数据和待使用数据;
26.将所述待处理数据替换为所述待使用数据,生成第二请求字符串。
27.结合第一方面,在第一方面的第六种可能实现方式中,根据所述第一请求字符串中包括的标记信息,确定所述第一请求字符串中的待处理数据和待使用数据,包括:
28.确定所述标记信息内的数据为待处理数据;
29.获取待处理数据的数据名对应的控件标识,根据所述控件标识获取所述待处理数据对应的待使用数据。
30.本技术实施例的第二方面提供了一种用户界面的生成装置,所述装置包括:
31.通用请求信号生成单元,用于获取生成用户界面的通用请求信号,所述通用请求信号包括awtk控件标识;
32.第一请求字符串获取单元,用于获取所述通用请求信号的awtk控件标识对应的第一请求字符串;
33.第二请求字符串生成单元,用于根据所述第一请求字符串中的标记信息,对所述第一请求字符串进行数据更新,生成第二请求字符串;
34.用户界面生成单元,用于根据所述第二请求字符串获取设备响应数据,根据所述第一请求字符串的字符串标识获取对应的响应结构和绑定信息,根据所述设备响应数据、
所述响应结构和所述绑定信息更新用户界面的控件,以生成用户界面。
35.本技术实施例的第三方面提供了用户界面的生成设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面任一项所述方法的步骤。
36.本技术实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面任一项所述方法的步骤。
37.本技术实施例与现有技术相比存在的有益效果是:本技术实施例通过获取生成用户界面的通用请求信号,且该通用请求信号中包括awtk控件标识,基于该awtk控件标识可以获得对应的第一请求字符串,根据第一请求字符串中的标记信息对其进行数据替换,生成可用于解析控件数据的第二请求字符串,基于第二请求字符串获取设备响应数据,根据第一请求字符串获取对应的响应结构和绑定信息,通过awtk接口更新用户界面的控件,从而使得本技术可以基于通用请求信号,采用通用的model实例,结合数据与awtk控件标识的对应关系,实现动态的对用户界面的控件进行更新。
附图说明
38.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
39.图1是本技术实施例提供的一种用户界面的生成方法的实现流程示意图;
40.图2是本技术实施例提供的一种用户界面的生成系统的模块示意图;
41.图3是本技术实施例提供的一种用户界面的生成方法交互流程示意图;
42.图4是本技术实施例提供的一种用户界面的生成装置的示意图;
43.图5是本技术实施例提供的一种用户界面的生成设备的示意图。
具体实施方式
44.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本技术实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本技术。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本技术的描述。
45.为了说明本技术所述的技术方案,下面通过具体实施例来进行说明。
46.在对网络摄像机进行远程配置时,为了能够适应不同的算法插件,避免各端开发ui(中文全称为用户界面,英文全称为user interface)导致插件的提测阻塞,通常采用xml(英文全称为extensible markup language,中文全称为可扩展标记语言)数据描述ui。通过解析xml数据生成相应的ui,并生成请求,解析设备的响应数据。
47.由于nvr(英文全称为network video recorder,中文全称为网络视频录像机)的限制较多,为了方便nvr端的实现,xml的规范通常会基于awtk(英文全称为toolkit anywhere)支持xml页面加载的限制进行设计。该设计要求各端能够解析基于该规范实现的
xml,生成ui、生成请求和解析响应并绑定数据,需要解决数据种类和数量未知、响应数据结构复杂、交互方法的名称不确定的适配问题。
48.通过qt(是一个跨平台的c++开发库,主要用来开发图形用户界面程序)可以将xml转化为ui。通过以map容器的方式创建界面元素树。通过递归解析xml文档,每遇到一个界面元素就实例化并添加到元素树中,并继续解析该元素的属性,以设置ui的界面元素。
49.由于qt并没有提供xml解析功能,因此,若要采用qt生成ui,需要自行实现对xml的解析。对xml解析的本质是对xml进行文本匹配,即对控件类型与xml标签、qt控件对象与控件名、控件属性与xml属性节点之间的匹配。文本匹配的实现使得代码中充斥着大量的条件判断,可维护性和可扩展性都很差。并且qt控件(基于qt描述的控件)可能与其它规范描述的控件(比如awtk控件)不兼容,需要重新实现一套控件来满足规范的需求,工作量较大。此外,基于qt生成ui时,由于需要实现数据绑定和交互绑定,已有技术未涉及该部分实现,实现生成用户界面的难度界大。
50.awtk(英文全称为toolkit anywhere,是一套基于c语言开发的gui框架),支持将符合awtk规范的xml数据直接转化为页面并进行显示,同时其支持mvvm(model-view-viewmodel模型-视图-视图模型)模式,实现了数据绑定、命令绑定等功能。但是,awtk规范要求提前实现对应的model实例进行数据的绑定,这要求用于绑定的变量的名称、数量和类型是确定的,交互的方法名与数量也需要是确定的。
51.生成model实体并进行绑定,可以较好的解决数据绑定与交互绑定的问题。但是,awtk暂不支持界面生成,也不支持model实例的生成。awtk要求绑定和被绑定数据的名称和类型是已知的,从而提前实现对应的model进行绑定,在awtk初始化时将model进行注册。因此,基于awtk的xml规范无法通过生成model实例的方式实现数据绑定,不能有效的对用户界面的控件进行动态更新。
52.为了解决上述问题,本技术实施例提出了一种用户界面的生成方法,将awtk嵌入qt平台,在awtk-mvvm(一套用c语言开发的,专门为嵌入式平台优化的mvvm框架)的基础上,实现以请求为核心,将控件标识分别与数据、请求和响应绑定,利用awtk直接生成ui。
53.如图1所示为本技术实施例提供的一种用户界面的生成系统的模块示意图。该用户界面的生成系统包括xml解析模块、awtk管理模块、信号管理模块和请求与响应管理模块。
54.xml解析模块可以通过qt平台自带的“qtxml”库对xml进行读写操作,可用于:对xml中记录ui的数据进行预处理、请求与响应管理以及节点记录。
55.在实现预处理操作时,可以包括:
56.1)数据规范转换。由于xml数据需要考虑vue规范,并不完全符合awtk规范。通过数据规范转换,使xml数据符合awtk规范。
57.2)通用方法替换。用于将按钮或控件绑定的方法名替换为通用的方法名。
58.如前文所述,awtk-mvvm要求提前实现一个model,并在model中提前定义好相应的方法。在生成ui时只能绑定model中定义好了的方法名。而xml中的方法数量和方法名均是未知的。
59.为了解决这一问题,考虑到规范中定义的方法均为发送请求,并且一个控件只能绑定一个方法。因此,本技术采用一个通用的方法用于进行绑定。该通用的方法可用于发送
带有控件标识(可以包括如控件名等)的通用请求信号给请求与响应管理模块。请求与响应管理模块可以根据控件标识查找对应的请求。
60.3)绑定关系记录。用于记录控件标识与数据、控件标识与请求的绑定关系。
61.4)xml文件截取。用于将处理后的ui部分截取出来,存到一个新的xml文件夹中。
62.5)变量替换。用于将绑定相同变量的控件标识的value替换为预定义变量。
63.在实现请求与响应管理时,可以包括:
64.请求管理:可用于将xml数据转化为对应的第一请求字符串,并标记需要进行处理的数据或字段。比如,其中的标记信息“c{}c”表示需要添加通道id,标记信息“p{}p”表示绑定了某个控件的数据。
65.比如,第一请求字符串的内容为:
66.{"method":"set","record_control":{"c{chn_record}c":{"stream_type":"p{strea mtype}p","mode":"p{mode}p"}}}
67.其中包括的标记信息包括“c{}c”和“p{}p”,表示需要对字段“chn_record”添加通道id,“stream_type”表示绑定了控件的数据。
68.响应管理,用于将响应转化为对应的n叉树,记录个节点数据类型。
69.在实现节点记录时,可以通过数组记录各个节点,并且可以按照预设的分割符对节点进行分割。比如,可以采用“.”作为分割各个节点的分割符。
70.请求与响应管理模块,可用于接收信号管理模块发送的通用请求信号,以及向设备发送请求。可以根据通用请求信号处理相应字符串,生成请求发送给设备,然后对设备传回来的json格式的数据进行解析,将解析结果传送给控件标识对应的控件。
71.信号管理模块,可通过qt信号与槽机制实现单例。信号管理模块可用于管理通用请求信号的发送以及通用请求信号与槽函数的绑定。当绑定的通用请求的按钮或控件被点击或触发时,通过信号管理模块发送通用请求信号给请求与响应管理模块。
72.awtk管理模块,包括基于awtk-mvvm实现的model实例,以及awtk管理类。
73.其中,model实例可以基于awtk-mvvm实现的基础上进行修改,可用于将通用的方法与控件标识绑定,以及通过预定义的变量处理多个控件绑定同一个数据时的同步问题。
74.awtk管理类:可用于对awtk接口进行封装,提供根据控件标识设置或者获取对应类型值的接口,以及提供请求响应期间加载动画显示的接口。
75.基于上述的用用户界面的生成系统,通过提前实现通用的model实体,可用于处理多个控件绑定同一数据的情况,以及请求与控件标识的绑定。其中,xml解析模块可对下载的xml进行解析、修改、拆分,并记录控件标识(包括如控件名)分别与数据、请求、响应的绑定关系。利用awtk可以直接将xml生成ui的特点生成ui。在需要发送请求时,model实体将带有控件标识的通用请求信号发给请求与响应管理模块,请求与响应管理模块收到通用请求信号后,根据控件标识找到对应的请求信息,并根据请求信息中记录的数据绑定关系,获取对应的控件值,然后生成json格式的请求发送给设备。设备响应后,由请求与响应管理模块根据记录的绑定关系获取相关控件标识与该响应字段的对应关系,根据xml描述的响应数据结构,解析响应数据,并将相应字段的数据设置给与其绑定的控件。
76.图2为本技术实施例提供的一种用户界面的生成方法的实现流程示意图,详述如下:
77.在s201中,获取生成用户界面的通用请求信号,所述通用请求信号包括awtk控件标识。
78.本技术实施例中的通用请求信号,为基于qt平台所生成的信号。该通用请求信号可用于连接到槽函数。在信号发射时,所连接的槽函数即被调用。
79.在获取该通用请求信号时,可以由awtk管理模块检测控件的触发信息,在awtk管理模块检测到触发信息后,由awtk管理模块调用信号管理模块提供的接口,向信号管理模块发送注册请求。信号管理模块基于该请求生成并获得通用请求信号。
80.触发信息可以包括控件为激活或被触发的信息。触发方式可以包括如点击、触摸或长移动等操作。
81.为了便于使用通用方法,该通用请求信号采用通用的请求方法,可用于提前实现用于绑定该方法的model实体。该通用请求信号中携带有控件标识,可用于唯一标识该控件。控件标识可以包括如控件名等唯一标识。
82.在s202中,获取所述通用请求信号的awtk控件标识对应的第一请求字符串。
83.信号管理模块获得通用请求信号后,可以将通用请求信号发送至请求与响应管理模块。请求与响应管理模块在接收到该通用请求信号后,可以根据该通用请求信号解析得到第一请求字符串。
84.比如,可以通过请求与响应管理模块解析该通用请求信号,获得控件标识。将控件标识发送至xml解析模块,根据预先设定的控件标识的绑定关系,获得该控件对应的第一请求字符串。
85.或者,也可以由请求与响应管理模块将通用请求信号发送至xml解析模块,由xml解析模块解析该通用请求信号获得控件标识,根据预先设定的控件标识的绑定关系,获得该控件对应的第一请求字符串。
86.例如,xml解析模块根据控件标识,查找通用请求信号对应的第一请求字符串为设置请求,包括的数据为:
87.{"method":"set","record_control":{"c{chn_record}c":{"stream_type":"p{strea mtype}p","mode":"p{mode}p"}}}
88.在s203中,根据所述第一请求字符串中的标记信息,对所述第一请求字符串进行数据更新,生成第二请求字符串。
89.请求与响应管理模块根据第一请求字符串中包括的标记信息,确定其中需要处理的数据或字段。比如,s202中的第一请求字符串中包括的标记信息包括c{}c和p{}p,分别表示需要添加通道id和绑定了某个控件的数据。待处理数据包括“p{streamtype}p”和“c{chn_record}c”。其中,“c{chn_record}c”为需要特殊处理(加上通道id)的字段。可以根据数据名查找标记信息对应的待使用数据,将待处理数据替换为待使用数据。
90.比如,根据数据名确定待使用数据时,可以根据数据名确定查找对应的控件标识,根据控件标识查找对应的待使用数据。将待使用数据替换掉待处理数据,即可对第一请求字符串进行更新。
91.或者,也可以根据预设的处理规则,对标记信息中的字段进行处理。比如,可以按照预先设定的通道id的变化规则,对需要添加通道id的字段添加通道id处理。
92.在s204中,根据所述第二请求字符串获取设备响应数据,根据所述第一请求字符
串的字符串标识获取对应的响应结构和绑定信息,根据所述设备响应数据、所述响应结构和所述绑定信息,通过awtk接口更新用户界面的控件,以生成用户界面。
93.请求与响应管理模块在构建更新第二字符串模块后,可以通过已有的通信类向设备发送第二请求字符串。请求与响应管理模块接收到设备响应数据后,可以将第一请求字符串的字符串标识,包括如请求名发送至xml解析模块,获得与该请求名对应的响应结构和绑定信息,根据响应结构和绑定信息,确定响应数据中的控件设置信息。
94.根据响应结构和绑定信息确定设置信息可以包括:
95.根据绑定信息定位到第一请求字符串在设备响应数据中对应的响应字段,获取响应字段对应的值(字符型)。
96.根据响应结构记录的该响应字段的数据类型,将响应字段的值转换为对应数据类型的数据。
97.遍历绑定信息中记录的与数据绑定的控件名数组,调用awtk接口将数据设置给所有与之绑定的控件。
98.本技术实施例对需要在页面加载时发送的请求处理的具体过程可以包括:在解析xml文件时,通过数组记录需要在页面加载时发送的请求。在xml解析完成后,遍历该记录请求的数组,发送请求,并接收请求对应的设备响应数据。在接收到所有请求的设备响应数据后,再显示页面,并将响应数据显示到对应控件上。
99.对于有先后顺序的组合请求,其处理的具体过程可以包括:在解析xml时,若请求有先后关系,则记录需要在第一请求后立即发送的第二请求的请求名。当第一请求响应后,将响应数据传给对应控件并检查是否有第二请求需要发送,若有,则立即发送第二请求。若无,则显示页面。
100.本技术实施例中,awtk控件与请求的绑定方法可以包括:在model实例中实现一个通用的方法,该方法的传参为控件名,并基于通用请求信号与槽机制实现一个单例,将awtk数据传递给qt模块,当与请求绑定的模块触发相应事件时,上述方法会通过该单例发送一个带有控件名的信号,由请求与响应管理模块中相应的槽函数进行处理。
101.另外,本技术实施例中的流程中,为了解决多控件绑定同一数据的问题,可以在model实体中,针对整数型、布尔型和字符型变量分别预先定义一定数量的变量,在解析xml时将被多个控件同时绑定的数据名,可以根据数据替换为这些变量的变量名。由于一个页面中控件数量有限,多个控件绑定同一变量的应用场景不常见,因此不需要申明过多的变量,该处理方法可行。
102.图3为本技术实施例提供的一种用户界面的生成方法的交互流程示意图,详述如下:
103.1、当用户点击绑定了请求的按钮时,awtk管理模块调用信号管理模块提供的接口,注册一个带有控件标识的通用请求信号。
104.2、信号管理模块将该信号发送给请求与响应管理模块。
105.3、请求与响应管理模块收到通用请求信号后,根据控件标识从xml解析模块中获取控件标识对应的第一请求字符串。
106.例如下方为xml解析模块解析xml生成的一个set请求:
107.{"method":"set","record_control":{"c{chn_record}c":{"stream_type":"p
{strea mtype}p","mode":"p{mode}p"}}}
108.4、请求与响应模块根据第一请求字符串中包括的标记信息,获取数据名“p{streamtype}p”和需要特殊处理(加上通道id)的字段“c{chn_record}c”。对于需要特殊处理的字段进行添加通道id处理,比如,通过添加通道id处理后的字段可以为“chn1_record”。根据数据名“streamtype”,可以获取到对应控件标识,由对应控件标识获取到对应的待使用数据,然后将数据替换掉第一请求字符串中的对应内容,生成真正的第二请求字符串:
109.{"method":"set","record_control":{"chn1_record":{"stream_type":"main","mod e":"auto"}}}
110.5、将构造好的请求字符串,利用已有的通信类发送给设备。
111.6、获取到设备的响应数据后,通过请求名从解析模块获取其对应的响应结构和绑定信息。
112.基于响应结构和绑定信息,可以确定用于控件更新的数据,包括:
113.根据绑定信息定位到请求名对应的响应字段,获取其对应的value(字符型)。
114.根据响应结构记录的该响应字段的数据类型,将响应字段转换为对应数据类型的数据。
115.遍历绑定信息中记录的与数据绑定的控件名数组,调用awtk接口将数据设置给所有与之绑定的控件。
116.本技术以请求为核心,将数据与请求绑定,控件不需要绑定到某一特定的变量,发送请求时根据控件标识获取控件值进行替换生成真正的请求,数据响应时根据数据绑定关系将响应数据更新到相应的控件,从而能够有效的实现生成用户界面。
117.应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
118.图4为本技术实施例提供的一种用户界面的生成装置的示意图,该装置包括:
119.通用请求信号生成单元401,用于获取生成用户界面的通用请求信号,所述通用请求信号包括awtk控件标识;
120.第一请求字符串获取单元402,用于获取所述通用请求信号的awtk控件标识对应的第一请求字符串;
121.第二请求字符串生成单元403,用于根据所述第一请求字符串中的标记信息,对所述第一请求字符串进行数据更新,生成第二请求字符串;
122.用户界面生成单元404,用于根据所述第二请求字符串获取设备响应数据,根据所述第一请求字符串的字符串标识获取对应的响应结构和绑定信息,根据所述设备响应数据、所述响应结构和所述绑定信息,通过awtk接口更新用户界面的控件,以生成用户界面。
123.图4所示的用户界面的生成装置,与图2所示的用户界面的生成方法对应。
124.图5是本技术一实施例提供的用户界面的生成设备的示意图。如图5所示,该实施例的用户界面的生成设备5包括:处理器50、存储器51以及存储在所述存储器51中并可在所述处理器50上运行的计算机程序52,例如用户界面的生成程序。所述处理器50执行所述计算机程序52时实现上述各个用户界面的生成方法实施例中的步骤。或者,所述处理器50执
行所述计算机程序52时实现上述各装置实施例中各模块/单元的功能。
125.示例性的,所述计算机程序52可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器51中,并由所述处理器50执行,以完成本技术。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序52在所述用户界面的生成设备5中的执行过程。
126.所述用户界面的生成设备可包括,但不仅限于,处理器50、存储器51。本领域技术人员可以理解,图5仅仅是用户界面的生成设备5的示例,并不构成对用户界面的生成设备5的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述用户界面的生成设备还可以包括输入输出设备、网络接入设备、总线等。
127.所称处理器50可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字通用请求信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
128.所述存储器51可以是所述用户界面的生成设备5的内部存储单元,例如用户界面的生成设备5的硬盘或内存。所述存储器51也可以是所述用户界面的生成设备5的外部存储设备,例如所述用户界面的生成设备5上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,所述存储器51还可以既包括所述用户界面的生成设备5的内部存储单元也包括外部存储设备。所述存储器51用于存储所述计算机程序以及所述用户界面的生成设备所需的其他程序和数据。所述存储器51还可以用于暂时地存储已经输出或者将要输出的数据。
129.所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本技术的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
130.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
131.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
132.在本技术所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所
述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
133.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
134.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
135.所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实现上述实施例方法中的全部或部分流程,也可以通过计算机程序指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波通用请求信号、电信通用请求信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括是电载波通用请求信号和电信通用请求信号。
136.以上所述实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。
技术特征:
1.一种用户界面的生成方法,其特征在于,所述方法基于嵌入awtk的qt平台实现,所述方法包括:获取生成用户界面的通用请求信号,所述通用请求信号包括awtk控件标识;获取所述通用请求信号的awtk控件标识对应的第一请求字符串;根据所述第一请求字符串中的标记信息,对所述第一请求字符串进行数据更新,生成第二请求字符串;根据所述第二请求字符串获取设备响应数据,根据所述第一请求字符串的字符串标识获取对应的响应结构和绑定信息,根据所述设备响应数据、所述响应结构和所述绑定信息,通过awtk接口更新用户界面的控件,以生成用户界面。2.根据权利要求1所述的方法,其特征在于,根据所述设备响应数据、所述响应结构和所述绑定信息,通过awtk接口更新用户界面的控件,包括:根据所述绑定信息确定所述第一请求字符串在所述设备响应数据中对应的响应字段;根据所述响应结构确定所述响应字段的数据类型,将所述响应字段转换为所述数据类型的数据;根据所述绑定信息查找对应的控件,调用awtk接口将所述数据更新至所述控件。3.根据权利要求1所述的方法,其特征在于,所述字符串标识包括请求名,根据所述第二请求字符串获取设备响应数据,根据所述第一请求字符串的字符串标识获取对应的响应结构和绑定信息,包括:将所述第二请求字符串发送至设备端,并获取所述设备端返回的设备响应数据;根据所述第一请求字符串中的请求名,确定所述响应数据对应的响应结构和绑定信息。4.根据权利要求1所述的方法,其特征在于,获取生成用户界面的通用请求信号,包括:通过awtk管理模块检测控件的触发信息;由所述awtk管理模块根据所述触发信息,调用信号管理模块注册生成所述通用请求信号。5.根据权利要求1所述的方法,其特征在于,获取所述通用请求信号的awtk控件标识对应的第一请求字符串,包括:通过请求与响应管理模块根据所述通用请求信号的awtk控件标识,向xml解析模块发送获取字符串的请求;由所述xml解析模块接收所述请求,根据预设的绑定关系,查找所述awtk控件标识对应的第一请求字符串,将所述第一请求字符串发送给所述请求与响应管理模块。6.根据权利要求1所述的方法,其特征在于,对所述第一请求字符串进行数据更新,生成第二请求字符串,包括:根据所述第一请求字符串中包括的标记信息,确定所述第一请求字符串中的待处理数据和待使用数据;将所述待处理数据替换为所述待使用数据,生成第二请求字符串。7.根据权利要求6所述的方法,其特征在于,根据所述第一请求字符串中包括的标记信息,确定所述第一请求字符串中的待处理数据和待使用数据,包括:确定所述标记信息内的数据为待处理数据;
获取待处理数据的数据名对应的控件标识,根据所述控件标识获取所述待处理数据对应的待使用数据。8.一种用户界面的生成装置,其特征在于,所述装置基于嵌入awtk的qt平台实现,所述装置包括:通用请求信号生成单元,用于获取生成用户界面的通用请求信号,所述通用请求信号包括awtk控件标识;第一请求字符串获取单元,用于获取所述通用请求信号的awtk控件标识对应的第一请求字符串;第二请求字符串生成单元,用于根据所述第一请求字符串中的标记信息,对所述第一请求字符串进行数据更新,生成第二请求字符串;用户界面生成单元,用于根据所述第二请求字符串获取设备响应数据,根据所述第一请求字符串的字符串标识获取对应的响应结构和绑定信息,根据所述设备响应数据、所述响应结构和所述绑定信息更新用户界面的控件,以生成用户界面。9.一种用户界面的生成设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述方法的步骤。10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述方法的步骤。
技术总结
本申请涉及图像用户界面领域,提出了一种用户界面的生成方法、装置、设备及存储介质。该方法包括:获取生成用户界面的通用请求信号,所述通用请求信号包括AWTK控件标识;获取所述通用请求信号的AWTK控件标识对应的第一请求字符串;根据所述第一请求字符串中的标记信息,对所述第一请求字符串进行数据更新,生成第二请求字符串;根据所述第一请求字符串的字符串标识获取对应的响应结构和绑定信息,根据所述响应结构和所述绑定信息,通过AWTK接口更新用户界面的控件,以生成用户界面。本申请可以基于通用请求信号,采用通用的model实例,结合数据与AWTK控件标识的对应关系,实现动态的对用户界面的控件进行更新。对用户界面的控件进行更新。对用户界面的控件进行更新。
技术研发人员:徐志文
受保护的技术使用者:杭州联吉技术有限公司
技术研发日:2023.06.02
技术公布日:2023/8/9
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
