一种基于PSD文件格式的Qt界面动态生成方法及其系统技术方案

技术编号:36038639 阅读:22 留言:0更新日期:2022-12-21 10:43
本发明专利技术公开了一种基于PSD文件格式的Qt界面动态生成方法,包括以下步骤:S1,对PSD文件进行加载以及进行基本文件属性的解析;S2,对基本文件属性中的图层及掩码相关属性进行解析;S3,进行界面元素属性编辑;S4,Qt界面文件生成;S5,Qt界面样式生成及关联。同时,本发明专利技术还提供一种基于PSD文件格式的Qt界面动态生成系统,包括PSD文件解析器、PSD图层及掩码属性解析器、界面元素属性编辑器、Qt界面文件生成器、Qt界面样式生成及关联器。本发明专利技术通过上述的Qt界面动态生成方法解决了在Qt应用程序开发中从设计原型效果图快速生成应用程序界面的效率问题,极大的降低了程序界面开发人员的界面开发、界面样式编辑及调试的负担。界面样式编辑及调试的负担。界面样式编辑及调试的负担。

【技术实现步骤摘要】
一种基于PSD文件格式的Qt界面动态生成方法及其系统


[0001]本专利技术涉及Qt应用程序的界面开发技术,具体涉及一种基于PSD文件格式的Qt界面动态生成方法及其系统。

技术介绍

[0002]在Qt应用程序开发过程中,需要设计人员先设计界面交互原型,应用程序开发人员基于设计人员设计的界面原型进行界面开发,一般的设计人员会通过专有设计软件导出设计的中间文件,然后开发人员基于中间文件进行界面的开发,目前还没有一种从中间文件动态生成界面的方法,极大的影响Qt应用程序中界面的开发效率。
[0003]PSD格式为上述中间文件的一种文件格式,PSD格式的文件是一种图像处理软件Photoshop的专用图形文件格式。这种文件格式可以存储Photoshop中的图层、通道、颜色模式等内容。PSD格式在保存时会将图片进行压缩,以降低占用储存空间。
[0004]如果通过对PSD文件格式及属性的解析并自动生成Qt界面文件及自动关联Qt界面样式属性,会极大的提高Qt应用程序界面的开发的效率。因此需要本专利技术一种基于PSD文件格式的Qt界面动态生成方法及其系统来解决上述出现的问题。

技术实现思路

[0005]本专利技术的目的在于提供一种基于PSD文件格式的Qt界面动态生成方法及其系统,以解决上述
技术介绍
中提出的问题。
[0006]为实现上述目的,本专利技术提供如下技术方案:
[0007]一种基于PSD文件格式的Qt界面动态生成方法,其特殊之处在于,包括以下步骤:
[0008]S1,对PSD文件进行加载以及进行基本文件属性的解析;
[0009]S2,对所述基本文件属性中的图层及掩码相关属性进行解析,并对所述PSD文件的各图层生成唯一标识名,获取各图层间的关联关系和层级关系;将所述PSD文件的各图层及掩码的属性信息转换为标准CSS样式信息;
[0010]所述标准CSS样式信息与图层的唯一标识名关联,通过唯一标识名获取对应图层的所述标准CSS样式信息,所述标准CSS样式信息为可识别的CSS代码;
[0011]S3,进行界面元素属性编辑
[0012]对PSD文件的图层及掩码与Qt界面及其界面控件的类型对应关系进行界面元素属性编辑,根据图层的唯一标识名生成Qt界面及其界面控件的对象名,并与图层的唯一标识名建立对应关系,再根据各图层间的关联关系和层级关系生成Qt界面及其控件的父子关系;
[0013]S4,Qt界面文件生成
[0014]根据图层及掩码与Qt界面及其控件类型的对应关系、Qt界面及其控件的父子关系自动生成Qt界面,自动生成Qt应用程序的ui文件,从而实现界面控件布局;
[0015]S5,Qt界面样式生成及关联
[0016]根据标准CSS样式信息转换为Qt界面及其控件的QSS文件,并通过Qt界面及其控件的对象名进行样式关联。
[0017]进一步地,步骤S2中,所述图层及掩码相关属性包括PSD文件各图层的属性和掩码属性,通过图层属性及掩码属性可在图像数据段获取图层的全部数据,图层属性信息包括:图层和掩码信息数据总长度、图层信息数据长度、图层数量以及各图层信息数据列表;所述图层数量以及各图层信息数据列表包括图层的头信息、掩码信息、效果图层信息及设置信息其数据格式。
[0018]进一步地,步骤S2中,通过对图层及掩码相关属性的解析,还需要获取图层类型、图层位置、图层宽高、描边属性、字体样式以及文本内容。
[0019]进一步地,步骤S4中,所述ui文件为XML格式的文件,所述XML格式的文件包括对应界面的类名、基类名称和当前类的名称、对应界面类型的属性,通过属性实现对界面大小、界面标题以及界面样式的设置。
[0020]同时,本专利技术还提供一种基于PSD文件格式的Qt界面动态生成系统,所述Qt界面动态生成系统通过上述的基于PSD文件格式的Qt界面动态生成方法实现生成Qt界面,其特殊之处在于:
[0021]包括PSD文件解析器、PSD图层及掩码属性解析器、界面元素属性编辑器、Qt界面文件生成器以及Qt界面样式生成及关联器;
[0022]所述PSD文件解析器用于PSD文件的加载与基本文件属性的解析,所述PSD文件包括文件头段、颜色模式数据组段、图像资源段、图层和掩码信息段以及图像数据段的解析;
[0023]所述PSD图层及掩码属性解析器用于图层及掩码相关属性的解析;
[0024]所述界面元素属性编辑器用于PSD文件的图层及掩码与Qt界面及其界面控件的类型对应关系编辑;
[0025]所述Qt界面文件生成器用于根据界面元素属性编辑器生成的图层与Qt界面及其控件类型的对应关系、Qt界面及其控件的父子关系自动生成Qt界面,自动实现界面控件布局;
[0026]所述Qt界面样式生成及关联器用于根据PSD文件解析出的标准CSS样式信息转换为Qt界面及其控件的QSS文件,并通过Qt界面及其控件的对象名进行样式关联。
[0027]进一步地,所述图层及掩码相关属性包括:图层组合、平面图像数据、颜色模式和相应数值、字体种类、字体大小、字体颜色、图层及掩码可见性和不透明度。
[0028]进一步地,所述图像资源段主要包括图像资源块以及图像资源标识,所述图像资源块包括PSD的原始文件格式、JPEG和TIFF,所述图像资源块用于存储与图像关联的非像素数据。
[0029]进一步地,所述图层和掩码信息段包含有关图层和掩码的信息,用于介绍层记录和掩码记录的格式。
[0030]进一步地,所述图像数据段包含图像像素数据,所述图像数据按平面顺序存储:首先是所有红色数据,然后是所有绿色数据,以此类推。
[0031]与现有技术相比,本专利技术的有益效果是:通过对PSD文件的解析动态生成Qt界面,能够极大的提升Qt应用程序界面的开发效率,极大的降低了程序界面开发人员的界面开发、界面样式编辑及调试的负担。
附图说明
[0032]图1为本专利技术实施例中提到的一种基于PSD文件格式的Qt界面动态生成方法的整体流程图;
[0033]图2为本专利技术实施例中提到的一种基于PSD文件格式的Qt界面动态生成系统的结构示意图;
[0034]图3为本专利技术实施例中提到的PSD文件结构图;
[0035]图4为本专利技术实施例中提到的PSD图层及掩码属性解析图;
[0036]图5为本专利技术实施例中Qt界面文件生成器生成的Qt应用程序的ui文件示意图。
[0037]附图标记如下:
[0038]1‑
PSD文件解析器,2

PSD图层及掩码属性解析器,3

界面元素属性编辑器,4

Qt界面文件生成器,5

Qt界面样式生成及关联器。
具体实施方式
[0039]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于PSD文件格式的Qt界面动态生成方法,其特征在于,包括以下步骤:S1,对PSD文件进行加载以及进行基本文件属性的解析;S2,对所述基本文件属性中的图层及掩码相关属性进行解析,并对所述PSD文件的各图层生成唯一标识名,获取各图层间的关联关系和层级关系;将所述PSD文件的各图层及掩码的属性信息转换为标准CSS样式信息;所述标准CSS样式信息与图层的唯一标识名关联,通过唯一标识名获取对应图层的所述标准CSS样式信息,所述标准CSS样式信息为可识别的CSS代码;S3,进行界面元素属性编辑对PSD文件的图层及掩码与Qt界面及其界面控件的类型对应关系进行界面元素属性编辑,根据图层的唯一标识名生成Qt界面及其界面控件的对象名,并与图层的唯一标识名建立对应关系,再根据各图层间的关联关系和层级关系生成Qt界面及其控件的父子关系;S4,Qt界面文件生成根据图层及掩码与Qt界面及其控件类型的对应关系、Qt界面及其控件的父子关系自动生成Qt界面,自动生成Qt应用程序的ui文件,从而实现界面控件布局;S5,Qt界面样式生成及关联根据标准CSS样式信息转换为Qt界面及其控件的QSS文件,并通过Qt界面及其控件的对象名进行样式关联。2.根据权利要求1所述的一种基于PSD文件格式的Qt界面动态生成方法及,其特征在于:步骤S2中,所述图层及掩码相关属性包括PSD文件各图层的属性和掩码属性,通过图层属性及掩码属性可在图像数据段获取图层的全部数据,图层属性信息包括:图层和掩码信息数据总长度、图层信息数据长度、图层数量以及各图层信息数据列表;所述图层数量以及各图层信息数据列表包括图层的头信息、掩码信息、效果图层信息及设置信息其数据格式。3.根据权利要求2所述的一种基于PSD文件格式的Qt界面动态生成方法及,其特征在于:步骤S2中,通过对图层及掩码相关属性的解析,还需要获取图层类型、图层位置、图层宽高、描边属性、字体样式以及文本内容。4.根据权利要求3所述的一种基于PSD文件格式的Qt界面动态生成方法及,其特征在于:步骤S4中,所述ui文件为XML格式的文件,所述XML格式的文件包括对应界面的类名、基类名称和当前类的名称、对应界面类型的属性,通过属性实现对界面大小、界面标题以...

【专利技术属性】
技术研发人员:丰宁宁李自强
申请(专利权)人:南京芯传汇电子科技有限公司
类型:发明
国别省市:

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

1