掌桥专利:专业的专利平台
掌桥专利
首页

一种实现Axure工程转换至Qt工程方法

文献发布时间:2023-06-19 11:32:36


一种实现Axure工程转换至Qt工程方法

技术领域

本发明涉及软件开发技术,尤其涉及一种实现Axure工程转换至Qt工程方法。

背景技术

Qt是跨平台的应用程序和UI框架,包括跨平台类库、集成开发工具和跨平台IDE,只需一次性开发应用程序,无须重新编写源代码,便可跨不同桌面和嵌入式操作系统部署这些应用程序。

目前,一般使用Axure RP设计工具,进行界面显示和交互设计,生成Web端原型软件和相关代码;最终使用Qt样式表(简称qss)和编码实现原型软件功能。

然而目前qss的生成主要依靠人工设计,通过与原型软件比对,进行界面切图、qss样式设计等,过程繁琐。

发明内容

本发明实施例提供一种实现Axure工程转换至Qt工程方法,可以简化Qt样式表的设计过程,提高效率。

本发明实施例提供一种实现Axure工程转换至Qt工程方法,包括:

获取每个Axure标准控件对应的识别特征,并建立Axure标准控件与对应Qt控件的映射关系;

对Axure工程进行提取处理,构建虚拟的Axure控件树;

基于所述识别特征和所述映射关系,对所述Axure控件树进行识别处理,生成虚拟的Qt控件树;

基于预设格式,将所述Qt控件树输出为预设格式的文件。

可选地,在一种可能实现方式中,所述获取每个Axure标准控件对应的识别特征,包括:

对Axure标准控件逐一进行特征提取处理,获取每个所述Axure标准控件对应的识别特征。

可选地,在一种可能实现方式中,所述建立Axure标准控件与对应Qt控件的映射关系,包括:

在预设Qt控件库中获取与所述Axure标准控件匹配的Qt控件,建立所述Axure标准控件与所述Qt控件的映射关系。

可选地,在一种可能实现方式中,所述对Axure工程进行提取处理,构建虚拟的Axure控件树,包括:

提取所述Axure工程可转换的资源信息,所述资源信息包括页面、关联的样式以及图片;

以所述页面为单元,在内存中构建一颗虚拟的所述Axure控件树。

可选地,在一种可能实现方式中,所述以所述页面为单元,在内存中构建一颗虚拟的所述Axure控件树,包括:

提取其中标识元素的标识信息,并提取其中容器元素的属性信息,根据所述属性信息获取当前元素的控件类型;

基于所述标识信息和所述控件类型,按照控件的包含和层级关系,在内存中构建一颗虚拟的所述Axure控件树。

可选地,在一种可能实现方式中,所述基于所述识别特征和所述映射关系,对所述Axure控件树进行识别处理,生成虚拟的Qt控件树,包括:

基于所述识别特征和所述映射关系对所述Axure控件树进行识别处理,获取对应Axure控件的待用Qt控件,以及所述待用Qt控件的坐标位置和合并控件的样式;

基于所述待用Qt控件、所述坐标位置和所述合并控件的样式,生成虚拟的Qt控件树。

可选地,在一种可能实现方式中,所述获取对应Axure控件的待用Qt控件,包括:

对Axure控件树节点按照从上至下、从外至内的顺序逐一扫描,查找所述识别特征和所述映射关系;

根据所述识别特征和所述映射关系,获取所述待用Qt控件。

可选地,在一种可能实现方式中,所述根据所述识别特征和所述映射关系,获取所述待用Qt控件,包括:

根据识别特征获取所述Axure标准控件,基于所述映射关系查询与所述Axure标准控件对应的Qt控件,将其作为待用Qt控件。

可选地,在一种可能实现方式中,所述基于预设格式,将所述Qt控件树输出为预设格式的文件,包括:

将对所述Qt控件树输出为UI文件格式。

可选地,在一种可能实现方式中,在所述基于预设格式,将所述Qt控件树输出为预设格式的文件之后,还包括:

将所述文件保存至磁盘。

本发明提供的一种实现Axure工程转换至Qt工程方法,通过获取每个Axure标准控件对应的识别特征,并建立Axure标准控件与对应Qt控件的映射关系;对Axure工程进行提取处理,构建虚拟的Axure控件树;基于所述识别特征和所述映射关系,对所述Axure控件树进行识别处理,生成虚拟的Qt控件树;基于预设格式,将所述Qt控件树输出为预设格式的文件的技术方案,可以利用对Axure标准控件与对应Qt控件的映射关系,对Axure工程进行控件的识别处理,将对应Axure工程的Axure控件树转换成对应的Qt控件树,最终按照一定的格式输出,较大程度的简化Qt样式表的设计过程,提高效率,另外,设计出的原型软件不仅作为参考界面,相关Web端代码可以得到利用,使得设计和实现结合。

附图说明

图1是本发明实施例提供的一种实现Axure工程转换至Qt工程方法的流程示意图;

图2是本发明实施例提供的获取对应Axure控件的待用Qt控件的流程示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。

应当理解,在本发明的各种实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

应当理解,在本发明中,“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

应当理解,在本发明中,“多个”是指两个或两个以上。“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。“包含A、B和C”、“包含A、B、C”是指A、B、C三者都包含,“包含A、B或C”是指包含A、B、C三者之一,“包含A、B和/或C”是指包含A、B、C三者中任1个或任2个或3个。

应当理解,在本发明中,“与A对应的B”、“与A相对应的B”、“A与B相对应”或者“B与A相对应”,表示B与A相关联,根据A可以确定B。根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其他信息确定B。A与B的匹配,是A与B的相似度大于或等于预设的阈值。

取决于语境,如在此所使用的“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。

下面以具体地实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。

参见图1,是本发明实施例提供的一种实现Axure工程转换至Qt工程方法的流程示意图,图1所示方法的执行主体可以是软件和/或硬件装置。本申请的执行主体可以包括但不限于以下中的至少一个:用户设备、网络设备等。其中,用户设备可以包括但不限于计算机、智能手机、个人数字助理(PersonalDigital Assistant,简称:PDA)及上述提及的电子设备等。网络设备可以包括但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算的由大量计算机或网络服务器构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机组成的一个超级虚拟计算机。本实施例对此不做限制。包括步骤S101至步骤S104,具体如下:

S101,获取每个Axure标准控件对应的识别特征,并建立Axure标准控件与对应Qt控件的映射关系。

具体地,为了对Axure工程中的控件进行识别,需要获取到其中控件的识别特征,采用该识别特征对Axure工程中的控件进行识别,识别到Axure标准控件后,可以利用建立好的映射关系找到对应的Qt控件。其中,映射关系可以是映射表,可以理解的是,映射表中,一个Axure标准控件对应一个Qt控件,在找到一个Axure标准控件后,可以查询映射表找到对应的Qt控件。

在实际应用中,获取每个Axure标准控件对应的识别特征,可以是对Axure标准控件逐一进行特征提取处理,获取每个所述Axure标准控件对应的识别特征,即,一个Axure标准控件对应一个识别特征。

在一些实施例中,映射关系的建立过程可以是在预设Qt控件库中获取Axure标准控件匹配的Qt控件,然后建立Axure标准控件与Qt控件的映射关系。

S102,对Axure工程进行提取处理,构建虚拟的Axure控件树。

具体地,为了构建虚拟的Qt控件树,需要先构建虚拟的Axure控件树,然后对虚拟的Axure控件树进行转换,生成虚拟的Qt控件树。

S103,基于所述识别特征和所述映射关系,对所述Axure控件树进行识别处理,生成虚拟的Qt控件树。

具体地,可以利用识别特征和映射关系对所述Axure控件树进行识别处理,获取到Axure控件树中对应Axure控件的待用Qt控件,以及所述待用Qt控件的坐标位置和合并控件的样式,其中,待用Qt控件即由Axure控件转换而来的Qt控件,用于构建虚拟的Qt控件树。

其中,构建虚拟的Qt控件树,可以是基于所述待用Qt控件、所述坐标位置和所述合并控件的样式进行构建,可以理解的是,待用Qt控件由Axure控件转换而来,坐标位置和所述合并控件的样式是在查找Axure控件时,同步计算Axure控件的坐标位置和合并控件的样式,以让待用Qt控件去生成虚拟的Qt控件树。

在实际应用中,所述获取对应Axure控件的待用Qt控件,参见图2,包括步骤S21-S22:

S21,对Axure控件树节点按照从上至下、从外至内的顺序逐一扫描,查找所述识别特征和所述映射关系;

S22,根据所述识别特征和所述映射关系,获取所述待用Qt控件。

具体的,可以根据识别特征获取所述Axure标准控件,基于所述映射关系查询与所述Axure标准控件对应的Qt控件,将其作为待用Qt控件。可以理解的是,在找到识别特征后,即可找到与识别特征对应的Axure控件,在找到映射关系后,就可以利用映射关系找到Axure控件对应的Qt控件,以上为一一对应关系。

S104,基于预设格式,将所述Qt控件树输出为预设格式的文件。

可以理解的是,在Qt控件树构建完成后,可以将Qt控件树输出为所需格式的文件,然后将所述文件保存至磁盘后续使用,例如,可以按照一定格式输出成UI文件、资源文件等。

上述实施例可以利用对Axure标准控件与对应Qt控件的映射关系,对Axure工程进行控件的识别处理,将对应Axure工程的Axure控件树转换成对应的Qt控件树,最终按照一定的格式输出,较大程度的简化Qt样式表的设计过程,提高效率,另外,设计出的原型软件不仅作为参考界面,相关Web端代码可以得到利用,使得设计和实现结合。

在上述实施例的基础上步骤S102(对Axure工程进行提取处理,构建虚拟的Axure控件树)的具体实现方式可以是:

为了构建虚拟的Axure控件树,需要对Axure工程进行提取处理,提取出所述Axure工程可转换的资源信息,所述资源信息包括页面、关联的样式以及图片,然后以所述页面为单元,在内存中构建一颗虚拟的所述Axure控件树。

其中,在Axure控件中,html元素可分为两类:一类是如html、body等的标识元素,另外一类是div等的容器元素。基于元素节点树,采用自顶向下的方式逐层对元素进行识别,遇到标识元素时,只进行信息提取,提取其中标识元素的标识信息。遇到容器元素时,提取其中容器元素的属性信息,需要根据当前容器元素的属性信息,如name、type等的属性值,判断出当前元素代表的控件类型,最后利用标识信息和控件类型,按照控件的包含和层级关系,构建出Axure控件树。

此外,本发明对于其中的Html元素解析进行了解释,Html文件的语言形式为尖括号包围的HTML元素(如容器元素为

),若单个元素没有子元素,则使用
,若包含至少一个子元素,则格式为
...
,中间包裹的即为子元素,通过嵌套和组合生成完整的页面。

有内容为

格式的html文件,在识别时,一次性的读取html页面,并按照字符一个个的进行解析,若当前字符为‘<’时,则认为是一个元素标识的开始;遇到‘>’时,则认为是元素标识的结尾,那么‘<’和‘>’中间包裹的即为当前元素,通过此方式可识别出元素,再往下读取字符时,遇到和元素,此时完成了和元素的配对识别,因html的结束元素还未匹配,因此head元素为html的子元素,将head节点挂载在html节点下,格式为:

+html

-head

接着识别出body元素,因已经识别完成head,则body和head属于同级,格式为:

+html

-head

-body

再识别出div元素,因body的结束元素还未匹配,因此div元素为body的子元素,格式为:

+html

-head

+body

-div

之后识别到

、、三个元素,在完成了html元素匹配后,整个的识别过程已经完成。此时格式为:

+html

-head

+body

-div

完善以上的识别流程,即可完成html的解析,构建出内存元素节点树。

本发明还提供一种程序产品,该程序产品包括执行指令,该执行指令存储在可读存储介质中。设备的至少一个处理器可以从可读存储介质读取该执行指令,至少一个处理器执行该执行指令使得设备实施上述的各种实施方式提供的方法。

在上述设备的实施例中,应理解,处理器可以是中央处理单元(英文:CentralProcessing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:DigitalSignal Processor,简称:DSP)、专用集成电路(英文:Application Specific IntegratedCircuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

相关技术
  • 一种实现Axure工程转换至Qt工程方法
  • 一种基于Qt和Lua组合实现组态测试系统、实现方法及设备
技术分类

06120112966266