[发明专利]GUI动态布局方法、系统及介质有效
申请号: | 201811190063.2 | 申请日: | 2018-10-12 |
公开(公告)号: | CN109508188B | 公开(公告)日: | 2022-09-06 |
发明(设计)人: | 陈锋;李志洋 | 申请(专利权)人: | 上海金大师网络科技有限公司 |
主分类号: | G06F8/38 | 分类号: | G06F8/38;G06F9/445 |
代理公司: | 北京惠科金知识产权代理有限公司 11981 | 代理人: | 袁晓哲 |
地址: | 201799 上海市青浦*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | gui 动态 布局 方法 系统 介质 | ||
本发明提供了一种GUI动态布局方法、系统及介质,包括:模板类实现步骤:在Qt布局管理器基础上,结合C++模板技术实现一个CBaseLayout模板类;布局容器生成步骤:令CBaseLayout模板类根据初始化传入的枚举类型和大小自动生成组件布局容器,将组件布局容器存放到内部集合中,获取内部集合;所述GUI动态布局方法,还包括如下任一个步骤:布局框架搭建步骤:根据获取的内部集合,通过重写reLayout接口,实现具体自定义布局,搭建完成GUI界面整体布局框架。本发明快速搭建GUI界面布局框架,大大提高了开发效率。本发明提供组件模块化管理,减少了模块之间的耦合性,提高了系统稳定性。
技术领域
本发明涉及C++跨平台编程领域,具体地,涉及GUI动态布局方法、系统及介质。
背景技术
现有的Qt布局管理器提供了基础的布局管理功能,可对组件按预定规则进行排列,但不支持组件的动态布局及动态切换,并且不具备组件模块化管理功能。
Qt提供一系列的布局管理类,如QHBoxLayout、QVBoxLayout、QGridLayout,用来描述布局中组件如何排列。当组件的位置、大小改变后,布局管理类会自动处理组件的空间位置、大小,使之可以整齐的排列起来。但对于开发框架来说,Qt布局管理器做的还远远不够,缺少组件动态布局、动态切换及模块化管理接口,用起来比较繁琐,开发效率低下。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种GUI动态布局方法、系统及介质。
根据本发明提供的一种GUI动态布局方法,包括:
模板类实现步骤:在Qt布局管理器基础上,结合C++模板技术实现一个CBaseLayout模板类;
布局容器生成步骤:令CBaseLayout模板类根据初始化传入的枚举类型和大小自动生成组件布局容器,将组件布局容器存放到内部集合中,获取内部集合;
所述GUI动态布局方法,还包括如下任一个步骤:
布局框架搭建步骤:根据获取的内部集合,通过重写reLayout接口,实现具体自定义布局,搭建完成GUI界面整体布局框架;
自定义组件开发步骤:根据获取的内部集合,进行自定义组件的开发。
优选地,所述CBaseLayout模板类被实现为一个C++模板类;
CBaseLayout模板类包括:模板参数class T和模板参数int TMax,模板参数classT表示实例化时传入的枚举类型,根据枚举类型中的枚举元素定义组件布局容器;模板参数int TMax表示枚举最大值,枚举最大值为枚举元素的个数,即组件布局容器的个数;
CBaseLayout模板类还包括:Qt布局管理器集合,即组件布局容器集合,组件布局容器集合的大小由模板参数int TMax决定;
所述布局容器生成步骤:
根据模板参数class T和模板参数int TMax,生成相应个数的组件布局容器并存放到内部集合中;
所述布局框架搭建步骤:
创建一个外部自定义布局容器,并且重新实现reLayout接口,然后根据枚举类型定义依次将内部集合中的组件布局容器添加到外部自定义布局容器中,搭建完成GUI界面整体布局框架。
优选地,所述CBaseLayout模板类包括:AddCustomWidget接口、GetCustomWidget接口、HideWidget接口、ShowWidget接口、reLayout接口中的任一个或任多个接口;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海金大师网络科技有限公司,未经上海金大师网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811190063.2/2.html,转载请声明来源钻瓜专利网。